Adding upstream version 4.6.0+dfsg.
Signed-off-by: Daniel Baumann <daniel@debian.org>
183
docs/README.md
Normal file
|
@ -0,0 +1,183 @@
|
|||
[](https://github.com/commitizen-tools/commitizen/actions)
|
||||
[](https://conventionalcommits.org)
|
||||
[](https://pypi.org/project/commitizen/)
|
||||
[](https://pypi.org/project/commitizen/)
|
||||
[](https://pypi.org/project/commitizen/)
|
||||
[](https://anaconda.org/conda-forge/commitizen)
|
||||
[](https://formulae.brew.sh/formula/commitizen)
|
||||
[](https://codecov.io/gh/commitizen-tools/commitizen)
|
||||
[](https://github.com/pre-commit/pre-commit)
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
**Documentation:** [https://commitizen-tools.github.io/commitizen/](https://commitizen-tools.github.io/commitizen/)
|
||||
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
Commitizen is release management tool designed for teams.
|
||||
|
||||
Commitizen assumes your team uses a standard way of committing rules
|
||||
and from that foundation, it can bump your project's version, create
|
||||
the changelog, and update files.
|
||||
|
||||
By default, commitizen uses [conventional commits][conventional_commits], but you
|
||||
can build your own set of rules, and publish them.
|
||||
|
||||
Using a standardized set of rules to write commits, makes commits easier to read, and enforces writing
|
||||
descriptive commits.
|
||||
|
||||
### Features
|
||||
|
||||
- Command-line utility to create commits with your rules. Defaults: [Conventional commits][conventional_commits]
|
||||
- Bump version automatically using [semantic versioning][semver] based on the commits. [Read More](./commands/bump.md)
|
||||
- Generate a changelog using [Keep a changelog][keepchangelog]
|
||||
- Update your project's version files automatically
|
||||
- Display information about your commit rules (commands: schema, example, info)
|
||||
- Create your own set of rules and publish them to pip. Read more on [Customization](./customization.md)
|
||||
|
||||
## Requirements
|
||||
|
||||
[Python](https://www.python.org/downloads/) `3.9+`
|
||||
|
||||
[Git][gitscm] `1.8.5.2+`
|
||||
|
||||
## Installation
|
||||
|
||||
Install commitizen in your system using `pipx` (Recommended, <https://pypa.github.io/pipx/installation/>):
|
||||
|
||||
```bash
|
||||
pipx ensurepath
|
||||
pipx install commitizen
|
||||
pipx upgrade commitizen
|
||||
```
|
||||
|
||||
Install commitizen using `pip` with `--user` flag:
|
||||
|
||||
```bash
|
||||
pip install --user -U commitizen
|
||||
```
|
||||
|
||||
### Python project
|
||||
|
||||
You can add it to your local project using one of the following.
|
||||
|
||||
With `pip`:
|
||||
|
||||
```bash
|
||||
pip install -U commitizen
|
||||
```
|
||||
|
||||
With `conda`:
|
||||
|
||||
```bash
|
||||
conda install -c conda-forge commitizen
|
||||
```
|
||||
|
||||
With Poetry >= 1.2.0:
|
||||
|
||||
```bash
|
||||
poetry add commitizen --group dev
|
||||
```
|
||||
|
||||
With Poetry < 1.2.0:
|
||||
|
||||
```bash
|
||||
poetry add commitizen --dev
|
||||
```
|
||||
|
||||
### macOS
|
||||
|
||||
via [homebrew](https://formulae.brew.sh/formula/commitizen):
|
||||
|
||||
```bash
|
||||
brew install commitizen
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Most of the time this is the only command you'll run:
|
||||
|
||||
```sh
|
||||
cz bump
|
||||
```
|
||||
|
||||
On top of that, you can use commitizen to assist you with the creation of commits:
|
||||
|
||||
```sh
|
||||
cz commit
|
||||
```
|
||||
|
||||
Read more in the section [Getting Started](./getting_started.md).
|
||||
|
||||
### Help
|
||||
|
||||
```sh
|
||||
$ cz --help
|
||||
usage: cz [-h] [--debug] [-n NAME] [-nr NO_RAISE] {init,commit,c,ls,example,info,schema,bump,changelog,ch,check,version} ...
|
||||
|
||||
Commitizen is a cli tool to generate conventional commits.
|
||||
For more information about the topic go to https://conventionalcommits.org/
|
||||
|
||||
optional arguments:
|
||||
-h, --help show this help message and exit
|
||||
--config the path of configuration file
|
||||
--debug use debug mode
|
||||
-n NAME, --name NAME use the given commitizen (default: cz_conventional_commits)
|
||||
-nr NO_RAISE, --no-raise NO_RAISE
|
||||
comma separated error codes that won't rise error, e.g: cz -nr 1,2,3 bump. See codes at https://commitizen-
|
||||
tools.github.io/commitizen/exit_codes/
|
||||
|
||||
commands:
|
||||
{init,commit,c,ls,example,info,schema,bump,changelog,ch,check,version}
|
||||
init init commitizen configuration
|
||||
commit (c) create new commit
|
||||
ls show available commitizens
|
||||
example show commit example
|
||||
info show information about the cz
|
||||
schema show commit schema
|
||||
bump bump semantic version based on the git log
|
||||
changelog (ch) generate changelog (note that it will overwrite existing file)
|
||||
check validates that a commit message matches the commitizen schema
|
||||
version get the version of the installed commitizen or the current project (default: installed commitizen)
|
||||
```
|
||||
|
||||
## Setting up bash completion
|
||||
|
||||
When using bash as your shell (limited support for zsh, fish, and tcsh is available), Commitizen can use [argcomplete](https://kislyuk.github.io/argcomplete/) for auto-completion. For this argcomplete needs to be enabled.
|
||||
|
||||
argcomplete is installed when you install Commitizen since it's a dependency.
|
||||
|
||||
If Commitizen is installed globally, global activation can be executed:
|
||||
|
||||
```bash
|
||||
sudo activate-global-python-argcomplete
|
||||
```
|
||||
|
||||
For permanent (but not global) Commitizen activation, use:
|
||||
|
||||
```bash
|
||||
register-python-argcomplete cz >> ~/.bashrc
|
||||
```
|
||||
|
||||
For one-time activation of argcomplete for Commitizen only, use:
|
||||
|
||||
```bash
|
||||
eval "$(register-python-argcomplete cz)"
|
||||
```
|
||||
|
||||
For further information on activation, please visit the [argcomplete website](https://kislyuk.github.io/argcomplete/).
|
||||
|
||||
## Sponsors
|
||||
|
||||
These are our cool sponsors!
|
||||
|
||||
<!-- sponsors --><!-- sponsors -->
|
||||
|
||||
[conventional_commits]: https://www.conventionalcommits.org
|
||||
[semver]: https://semver.org/
|
||||
[keepchangelog]: https://keepachangelog.com/
|
||||
[gitscm]: https://git-scm.com/downloads
|
636
docs/commands/bump.md
Normal file
|
@ -0,0 +1,636 @@
|
|||

|
||||
|
||||
## About
|
||||
|
||||
`cz bump` **automatically** increases the version, based on the commits.
|
||||
|
||||
The commits should follow the rules established by the committer in order to be parsed correctly.
|
||||
|
||||
**prerelease** versions are supported (alpha, beta, release candidate).
|
||||
|
||||
The version can also be **manually** bumped.
|
||||
|
||||
The version format follows [PEP 0440][pep440] and [semantic versioning][semver].
|
||||
|
||||
This means `MAJOR.MINOR.PATCH`
|
||||
|
||||
| Increment | Description | Conventional commit map |
|
||||
| --------- | --------------------------- | ----------------------- |
|
||||
| `MAJOR` | Breaking changes introduced | `BREAKING CHANGE` |
|
||||
| `MINOR` | New features | `feat` |
|
||||
| `PATCH` | Fixes | `fix` + everything else |
|
||||
|
||||
[PEP 0440][pep440] is the default, you can switch by using the setting `version_scheme` or the cli:
|
||||
|
||||
```sh
|
||||
cz bump --version-scheme semver
|
||||
```
|
||||
|
||||
Some examples of pep440:
|
||||
|
||||
```bash
|
||||
0.9.0
|
||||
0.9.1
|
||||
0.9.2
|
||||
0.9.10
|
||||
0.9.11
|
||||
1.0.0a0 # alpha
|
||||
1.0.0a1
|
||||
1.0.0b0 # beta
|
||||
1.0.0rc0 # release candidate
|
||||
1.0.0rc1
|
||||
1.0.0
|
||||
1.0.1
|
||||
1.1.0
|
||||
2.0.0
|
||||
2.0.1a
|
||||
```
|
||||
|
||||
`post` releases are not supported yet.
|
||||
|
||||
## Usage
|
||||
|
||||

|
||||
|
||||
### `--files-only`
|
||||
|
||||
Bumps the version in the files defined in `version_files` without creating a commit and tag on the git repository,
|
||||
|
||||
```bash
|
||||
cz bump --files-only
|
||||
```
|
||||
|
||||
### `--changelog`
|
||||
|
||||
Generate a **changelog** along with the new version and tag when bumping.
|
||||
|
||||
```bash
|
||||
cz bump --changelog
|
||||
```
|
||||
|
||||
### `--prerelease`
|
||||
|
||||
The bump is a pre-release bump, meaning that in addition to a possible version bump the new version receives a
|
||||
pre-release segment compatible with the bump’s version scheme, where the segment consist of a _phase_ and a
|
||||
non-negative number. Supported options for `--prerelease` are the following phase names `alpha`, `beta`, or
|
||||
`rc` (release candidate). For more details, refer to the
|
||||
[Python Packaging User Guide](https://packaging.python.org/en/latest/specifications/version-specifiers/#pre-releases).
|
||||
|
||||
Note that as per [semantic versioning spec](https://semver.org/#spec-item-9)
|
||||
|
||||
> Pre-release versions have a lower precedence than the associated normal version. A pre-release version
|
||||
> indicates that the version is unstable and might not satisfy the intended compatibility requirements
|
||||
> as denoted by its associated normal version.
|
||||
|
||||
For example, the following versions (using the [PEP 440](https://peps.python.org/pep-0440/) scheme) are ordered
|
||||
by their precedence and showcase how a release might flow through a development cycle:
|
||||
|
||||
- `1.0.0` is the current published version
|
||||
- `1.0.1a0` after committing a `fix:` for pre-release
|
||||
- `1.1.0a1` after committing an additional `feat:` for pre-release
|
||||
- `1.1.0b0` after bumping a beta release
|
||||
- `1.1.0rc0` after bumping the release candidate
|
||||
- `1.1.0` next feature release
|
||||
|
||||
### `--increment-mode`
|
||||
|
||||
By default, `--increment-mode` is set to `linear`, which ensures that bumping pre-releases _maintains linearity_:
|
||||
bumping of a pre-release with lower precedence than the current pre-release phase maintains the current phase of
|
||||
higher precedence. For example, if the current version is `1.0.0b1` then bumping with `--prerelease alpha` will
|
||||
continue to bump the “beta” phase.
|
||||
|
||||
Setting `--increment-mode` to `exact` instructs `cz bump` to instead apply the
|
||||
exact changes that have been specified with `--increment` or determined from the commit log. For example,
|
||||
`--prerelease beta` will always result in a `b` tag, and `--increment PATCH` will always increase the patch component.
|
||||
|
||||
Below are some examples that illustrate the difference in behavior:
|
||||
|
||||
| Increment | Pre-release | Start Version | `--increment-mode=linear` | `--increment-mode=exact` |
|
||||
|-----------|-------------|---------------|---------------------------|--------------------------|
|
||||
| `MAJOR` | | `2.0.0b0` | `2.0.0` | `3.0.0` |
|
||||
| `MINOR` | | `2.0.0b0` | `2.0.0` | `2.1.0` |
|
||||
| `PATCH` | | `2.0.0b0` | `2.0.0` | `2.0.1` |
|
||||
| `MAJOR` | `alpha` | `2.0.0b0` | `3.0.0a0` | `3.0.0a0` |
|
||||
| `MINOR` | `alpha` | `2.0.0b0` | `2.0.0b1` | `2.1.0a0` |
|
||||
| `PATCH` | `alpha` | `2.0.0b0` | `2.0.0b1` | `2.0.1a0` |
|
||||
|
||||
### `--check-consistency`
|
||||
|
||||
Check whether the versions defined in `version_files` and the version in commitizen
|
||||
configuration are consistent before bumping version.
|
||||
|
||||
```bash
|
||||
cz bump --check-consistency
|
||||
```
|
||||
|
||||
For example, if we have `pyproject.toml`
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
version = "1.21.0"
|
||||
version_files = [
|
||||
"src/__version__.py",
|
||||
"setup.py",
|
||||
]
|
||||
```
|
||||
|
||||
`src/__version__.py`,
|
||||
|
||||
```python
|
||||
__version__ = "1.21.0"
|
||||
```
|
||||
|
||||
and `setup.py`.
|
||||
|
||||
```python
|
||||
from setuptools import setup
|
||||
|
||||
setup(..., version="1.0.5", ...)
|
||||
```
|
||||
|
||||
If `--check-consistency` is used, commitizen will check whether the current version in `pyproject.toml`
|
||||
exists in all version_files and find out it does not exist in `setup.py` and fails.
|
||||
However, it will still update `pyproject.toml` and `src/__version__.py`.
|
||||
|
||||
To fix it, you'll first `git checkout .` to reset to the status before trying to bump and update
|
||||
the version in `setup.py` to `1.21.0`
|
||||
|
||||
### `--local-version`
|
||||
|
||||
Bump the local portion of the version.
|
||||
|
||||
```bash
|
||||
cz bump --local-version
|
||||
```
|
||||
|
||||
For example, if we have `pyproject.toml`
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
version = "5.3.5+0.1.0"
|
||||
```
|
||||
|
||||
If `--local-version` is used, it will bump only the local version `0.1.0` and keep the public version `5.3.5` intact, bumping to the version `5.3.5+0.2.0`.
|
||||
|
||||
### `--annotated-tag`
|
||||
|
||||
If `--annotated-tag` is used, commitizen will create annotated tags. Also available via configuration, in `pyproject.toml` or `.cz.toml`.
|
||||
|
||||
### `--annotated-tag-message`
|
||||
|
||||
If `--annotated-tag-message` is used, commitizen will create annotated tags with the given message.
|
||||
|
||||
### `--changelog-to-stdout`
|
||||
|
||||
If `--changelog-to-stdout` is used, the incremental changelog generated by the bump
|
||||
will be sent to the stdout, and any other message generated by the bump will be
|
||||
sent to stderr.
|
||||
|
||||
If `--changelog` is not used with this command, it is still smart enough to
|
||||
understand that the user wants to create a changelog. It is recommended to be
|
||||
explicit and use `--changelog` (or the setting `update_changelog_on_bump`).
|
||||
|
||||
This command is useful to "transport" the newly created changelog.
|
||||
It can be sent to an auditing system, or to create a Github Release.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
cz bump --changelog --changelog-to-stdout > body.md
|
||||
```
|
||||
|
||||
### `--git-output-to-stderr`
|
||||
|
||||
If `--git-output-to-stderr` is used, git commands output is redirected to stderr.
|
||||
|
||||
This command is useful when used with `--changelog-to-stdout` and piping the output to a file,
|
||||
and you don't want the `git commit` output polluting the stdout.
|
||||
|
||||
### `--retry`
|
||||
|
||||
If you use tools like [pre-commit](https://pre-commit.com/), add this flag.
|
||||
It will retry the commit if it fails the 1st time.
|
||||
|
||||
Useful to combine with code formatters, like [Prettier](https://prettier.io/).
|
||||
|
||||
### `--major-version-zero`
|
||||
|
||||
A project in its initial development should have a major version zero, and even breaking changes
|
||||
should not bump that major version from zero. This command ensures that behavior.
|
||||
|
||||
If `--major-version-zero` is used for projects that have a version number greater than zero it fails.
|
||||
If used together with a manual version the command also fails.
|
||||
|
||||
We recommend setting `major_version_zero = true` in your configuration file while a project
|
||||
is in its initial development. Remove that configuration using a breaking-change commit to bump
|
||||
your project’s major version to `v1.0.0` once your project has reached maturity.
|
||||
|
||||
### `--version-scheme`
|
||||
|
||||
Choose the version format, options: `pep440`, `semver`.
|
||||
|
||||
Default: `pep440`
|
||||
|
||||
Recommended for python: `pep440`
|
||||
|
||||
Recommended for other: `semver`
|
||||
|
||||
You can also set this in the [configuration](#version_scheme) with `version_scheme = "semver"`.
|
||||
|
||||
[pep440][pep440] and [semver][semver] are quite similar, their difference lies in
|
||||
how the prereleases look.
|
||||
|
||||
| schemes | pep440 | semver |
|
||||
| -------------- | -------------- | --------------- |
|
||||
| non-prerelease | `0.1.0` | `0.1.0` |
|
||||
| prerelease | `0.3.1a0` | `0.3.1-a0` |
|
||||
| devrelease | `0.1.1.dev1` | `0.1.1-dev1` |
|
||||
| dev and pre | `1.0.0a3.dev1` | `1.0.0-a3-dev1` |
|
||||
|
||||
Can I transition from one to the other?
|
||||
|
||||
Yes, you shouldn't have any issues.
|
||||
|
||||
### `--template`
|
||||
|
||||
Provides your own changelog jinja template.
|
||||
See [the template customization section](../customization.md#customizing-the-changelog-template)
|
||||
|
||||
### `--extra`
|
||||
|
||||
Provides your own changelog extra variables by using the `extras` settings or the `--extra/-e` parameter.
|
||||
|
||||
```bash
|
||||
cz bump --changelog --extra key=value -e short="quoted value"
|
||||
```
|
||||
|
||||
See [the template customization section](../customization.md#customizing-the-changelog-template).
|
||||
|
||||
### `--build-metadata`
|
||||
|
||||
Provides a way to specify additional metadata in the version string. This parameter is not compatible with `--local-version` as it uses the same part of the version string.
|
||||
|
||||
```bash
|
||||
cz bump --build-metadata yourmetadata
|
||||
```
|
||||
|
||||
Will create a version like `1.1.2+yourmetadata`.
|
||||
This can be useful for multiple things
|
||||
- Git hash in version
|
||||
- Labeling the version with additional metadata.
|
||||
|
||||
Note that Commitizen ignores everything after `+` when it bumps the version. It is therefore safe to write different build-metadata between versions.
|
||||
|
||||
You should normally not use this functionality, but if you decide to do, keep in mind that
|
||||
- Version `1.2.3+a`, and `1.2.3+b` are the same version! Tools should not use the string after `+` for version calculation. This is probably not a guarantee (example in helm) even tho it is in the spec.
|
||||
- It might be problematic having the metadata in place when doing upgrades depending on what tool you use.
|
||||
|
||||
### `--get-next`
|
||||
|
||||
Provides a way to determine the next version and write it to stdout. This parameter is not compatible with `--changelog`
|
||||
and `manual version`.
|
||||
|
||||
```bash
|
||||
cz bump --get-next
|
||||
```
|
||||
|
||||
Will output the next version, e.g., `1.2.3`. This can be useful for determining the next version based on CI for non
|
||||
production environments/builds.
|
||||
|
||||
This behavior differs from the `--dry-run` flag. The `--dry-run` flag provides a more detailed output and can also show
|
||||
the changes as they would appear in the changelog file.
|
||||
|
||||
The following output is the result of `cz bump --dry-run`:
|
||||
|
||||
```
|
||||
bump: version 3.28.0 → 3.29.0
|
||||
tag to create: v3.29.0
|
||||
increment detected: MINOR
|
||||
```
|
||||
|
||||
The following output is the result of `cz bump --get-next`:
|
||||
|
||||
```
|
||||
3.29.0
|
||||
```
|
||||
|
||||
The `--get-next` flag will raise a `NoneIncrementExit` if the found commits are not eligible for a version bump.
|
||||
|
||||
For information on how to suppress this exit, see [avoid raising errors](#avoid-raising-errors).
|
||||
|
||||
### `--allow-no-commit`
|
||||
|
||||
Allow the project version to be bumped even when there's no eligible version. This is most useful when used with `--increment {MAJOR,MINOR,PATCH}` or `[MANUL_VERSION]`
|
||||
|
||||
```sh
|
||||
# bump a minor version even when there's only bug fixes, documentation changes or even no commits
|
||||
cz bump --incremental MINOR --allow-no-commit
|
||||
|
||||
# bump version to 2.0.0 even when there's no breaking changes changes or even no commits
|
||||
cz bump --allow-no-commit 2.0.0
|
||||
```
|
||||
|
||||
## Avoid raising errors
|
||||
|
||||
Some situations from commitizen raise an exit code different than 0.
|
||||
If the error code is different than 0, any CI or script running commitizen might be interrupted.
|
||||
|
||||
If you have a special use case, where you don't want to raise one of this error codes, you can
|
||||
tell commitizen to not raise them.
|
||||
|
||||
### Recommended use case
|
||||
|
||||
At the moment, we've identified that the most common error code to skip is
|
||||
|
||||
| Error name | Exit code |
|
||||
| ----------------- | --------- |
|
||||
| NoneIncrementExit | 21 |
|
||||
|
||||
There are some situations where you don't want to get an error code when some
|
||||
commits do not match your rules, you just want those commits to be skipped.
|
||||
|
||||
```sh
|
||||
cz -nr 21 bump
|
||||
```
|
||||
|
||||
### Easy way
|
||||
|
||||
Check which error code was raised by commitizen by running in the terminal
|
||||
|
||||
```sh
|
||||
echo $?
|
||||
```
|
||||
|
||||
The output should be an integer like this
|
||||
|
||||
```sh
|
||||
3
|
||||
```
|
||||
|
||||
And then you can tell commitizen to ignore it:
|
||||
|
||||
```sh
|
||||
cz --no-raise 3
|
||||
```
|
||||
|
||||
You can tell commitizen to skip more than one if needed:
|
||||
|
||||
```sh
|
||||
cz --no-raise 3,4,5
|
||||
```
|
||||
|
||||
### Longer way
|
||||
|
||||
Check the list of [exit_codes](../exit_codes.md) and understand which one you have
|
||||
to skip and why.
|
||||
|
||||
Remember to document somewhere this, because you'll forget.
|
||||
|
||||
For example if the system raises a `NoneIncrementExit` error, you look it up
|
||||
on the list and then you can use the exit code:
|
||||
|
||||
```sh
|
||||
cz -nr 21 bump
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### `tag_format`
|
||||
|
||||
`tag_format` and `version_scheme` are combined to make Git tag names from versions.
|
||||
|
||||
These are used in:
|
||||
|
||||
- `cz bump`: Find previous release tag (exact match) and generate new tag.
|
||||
- Find previous release tags in `cz changelog`.
|
||||
- If `--incremental`: Using latest version found in the changelog, scan existing Git tags with 89\% similarity match.
|
||||
- `--rev-range` is converted to Git tag names with `tag_format` before searching Git history.
|
||||
- If the `scm` `version_provider` is used, it uses different regexes to find the previous version tags:
|
||||
- If `tag_format` is set to `$version` (default): `VersionProtocol.parser` (allows `v` prefix)
|
||||
- If `tag_format` is set: Custom regex similar to SemVer (not as lenient as PEP440 e.g. on dev-releases)
|
||||
|
||||
Commitizen supports 2 types of formats, a simple and a more complex.
|
||||
|
||||
```bash
|
||||
cz bump --tag-format="v$version"
|
||||
```
|
||||
|
||||
```bash
|
||||
cz bump --tag-format="v$minor.$major.$patch$prerelease.$devrelease"
|
||||
```
|
||||
|
||||
In your `pyproject.toml` or `.cz.toml`
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
tag_format = "v$major.$minor.$patch$prerelease"
|
||||
```
|
||||
|
||||
The variables must be preceded by a `$` sign and optionally can be wrapped in `{}` . Default is `$version`.
|
||||
|
||||
Supported variables:
|
||||
|
||||
| Variable | Description |
|
||||
|--------------------------------|---------------------------------------------|
|
||||
| `$version`, `${version}` | full generated version |
|
||||
| `$major`, `${major}` | MAJOR increment |
|
||||
| `$minor`, `${minor}` | MINOR increment |
|
||||
| `$patch`, `${patch}` | PATCH increment |
|
||||
| `$prerelease`, `${prerelease}` | Prerelease (alpha, beta, release candidate) |
|
||||
| `$devrelease`, ${devrelease}` | Development release |
|
||||
|
||||
---
|
||||
|
||||
### `version_files` \*
|
||||
|
||||
It is used to identify the files which should be updated with the new version.
|
||||
It is also possible to provide a pattern for each file, separated by colons (`:`).
|
||||
|
||||
Commitizen will update its configuration file automatically (`pyproject.toml`, `.cz`) when bumping,
|
||||
regarding if the file is present or not in `version_files`.
|
||||
|
||||
\* Renamed from `files` to `version_files`.
|
||||
|
||||
Some examples
|
||||
|
||||
`pyproject.toml`, `.cz.toml` or `cz.toml`
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
version_files = [
|
||||
"src/__version__.py",
|
||||
"setup.py:version"
|
||||
]
|
||||
```
|
||||
|
||||
In the example above, we can see the reference `"setup.py:version"`.
|
||||
This means that it will find a file `setup.py` and will only make a change
|
||||
in a line containing the `version` substring.
|
||||
|
||||
!!! note
|
||||
Files can be specified using relative (to the execution) paths, absolute paths
|
||||
or glob patterns.
|
||||
|
||||
---
|
||||
|
||||
### `bump_message`
|
||||
|
||||
Template used to specify the commit message generated when bumping.
|
||||
|
||||
defaults to: `bump: version $current_version → $new_version`
|
||||
|
||||
| Variable | Description |
|
||||
| ------------------ | ----------------------------------- |
|
||||
| `$current_version` | the version existing before bumping |
|
||||
| `$new_version` | version generated after bumping |
|
||||
|
||||
Some examples
|
||||
|
||||
`pyproject.toml`, `.cz.toml` or `cz.toml`
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
bump_message = "release $current_version → $new_version [skip-ci]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `update_changelog_on_bump`
|
||||
|
||||
When set to `true` the changelog is always updated incrementally when running `cz bump`, so the user does not have to provide the `--changelog` flag every time.
|
||||
|
||||
defaults to: `false`
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
update_changelog_on_bump = true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `annotated_tag`
|
||||
|
||||
When set to `true` commitizen will create annotated tags.
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
annotated_tag = true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `gpg_sign`
|
||||
|
||||
When set to `true` commitizen will create gpg signed tags.
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
gpg_sign = true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `major_version_zero`
|
||||
|
||||
When set to `true` commitizen will keep the major version at zero.
|
||||
Useful during the initial development stage of your project.
|
||||
|
||||
Defaults to: `false`
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
major_version_zero = true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `pre_bump_hooks`
|
||||
|
||||
A list of optional commands that will run right _after_ updating `version_files`
|
||||
and _before_ actual committing and tagging the release.
|
||||
|
||||
Useful when you need to generate documentation based on the new version. During
|
||||
execution of the script, some environment variables are available:
|
||||
|
||||
| Variable | Description |
|
||||
| ---------------------------- | ---------------------------------------------------------- |
|
||||
| `CZ_PRE_IS_INITIAL` | `True` when this is the initial release, `False` otherwise |
|
||||
| `CZ_PRE_CURRENT_VERSION` | Current version, before the bump |
|
||||
| `CZ_PRE_CURRENT_TAG_VERSION` | Current version tag, before the bump |
|
||||
| `CZ_PRE_NEW_VERSION` | New version, after the bump |
|
||||
| `CZ_PRE_NEW_TAG_VERSION` | New version tag, after the bump |
|
||||
| `CZ_PRE_MESSAGE` | Commit message of the bump |
|
||||
| `CZ_PRE_INCREMENT` | Whether this is a `MAJOR`, `MINOR` or `PATH` release |
|
||||
| `CZ_PRE_CHANGELOG_FILE_NAME` | Path to the changelog file, if available |
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
pre_bump_hooks = [
|
||||
"scripts/generate_documentation.sh"
|
||||
]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `post_bump_hooks`
|
||||
|
||||
A list of optional commands that will run right _after_ committing and tagging the release.
|
||||
|
||||
Useful when you need to send notifications about a release, or further automate deploying the
|
||||
release. During execution of the script, some environment variables are available:
|
||||
|
||||
| Variable | Description |
|
||||
| ------------------------------ | ----------------------------------------------------------- |
|
||||
| `CZ_POST_WAS_INITIAL` | `True` when this was the initial release, `False` otherwise |
|
||||
| `CZ_POST_PREVIOUS_VERSION` | Previous version, before the bump |
|
||||
| `CZ_POST_PREVIOUS_TAG_VERSION` | Previous version tag, before the bump |
|
||||
| `CZ_POST_CURRENT_VERSION` | Current version, after the bump |
|
||||
| `CZ_POST_CURRENT_TAG_VERSION` | Current version tag, after the bump |
|
||||
| `CZ_POST_MESSAGE` | Commit message of the bump |
|
||||
| `CZ_POST_INCREMENT` | Whether this was a `MAJOR`, `MINOR` or `PATH` release |
|
||||
| `CZ_POST_CHANGELOG_FILE_NAME` | Path to the changelog file, if available |
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
post_bump_hooks = [
|
||||
"scripts/slack_notification.sh"
|
||||
]
|
||||
```
|
||||
|
||||
### `prerelease_offset`
|
||||
|
||||
Offset with which to start counting prereleases.
|
||||
|
||||
Defaults to: `0`
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
prerelease_offset = 1
|
||||
```
|
||||
|
||||
### `version_scheme`
|
||||
|
||||
Choose version scheme
|
||||
|
||||
| schemes | pep440 | semver | semver2 |
|
||||
| -------------- | -------------- | --------------- | --------------------- |
|
||||
| non-prerelease | `0.1.0` | `0.1.0` | `0.1.0` |
|
||||
| prerelease | `0.3.1a0` | `0.3.1-a0` | `0.3.1-alpha.0` |
|
||||
| devrelease | `0.1.1.dev1` | `0.1.1-dev1` | `0.1.1-dev.1` |
|
||||
| dev and pre | `1.0.0a3.dev1` | `1.0.0-a3-dev1` | `1.0.0-alpha.3.dev.1` |
|
||||
|
||||
Options: `pep440`, `semver`, `semver2`
|
||||
|
||||
Defaults to: `pep440`
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
version_scheme = "semver"
|
||||
```
|
||||
|
||||
## Custom bump
|
||||
|
||||
Read the [customizing section](../customization.md).
|
||||
|
||||
[pep440]: https://www.python.org/dev/peps/pep-0440/
|
||||
[semver]: https://semver.org/
|
195
docs/commands/changelog.md
Normal file
|
@ -0,0 +1,195 @@
|
|||
## About
|
||||
|
||||
This command will generate a changelog following the committing rules established.
|
||||
|
||||
To create the changelog automatically on bump, add the setting [update_changelog_on_bump](./bump.md#update_changelog_on_bump)
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
update_changelog_on_bump = true
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||

|
||||
|
||||
### Examples
|
||||
|
||||
#### Generate full changelog
|
||||
|
||||
```bash
|
||||
cz changelog
|
||||
```
|
||||
|
||||
```bash
|
||||
cz ch
|
||||
```
|
||||
|
||||
#### Get the changelog for the given version
|
||||
|
||||
```bash
|
||||
cz changelog 0.3.0 --dry-run
|
||||
```
|
||||
|
||||
#### Get the changelog for the given version range
|
||||
|
||||
```bash
|
||||
cz changelog 0.3.0..0.4.0 --dry-run
|
||||
```
|
||||
|
||||
## Constrains
|
||||
|
||||
changelog generation is constrained only to **markdown** files.
|
||||
|
||||
## Description
|
||||
|
||||
These are the variables used by the changelog generator.
|
||||
|
||||
```md
|
||||
# <version> (<date>)
|
||||
|
||||
## <change_type>
|
||||
|
||||
- **<scope>**: <message>
|
||||
```
|
||||
|
||||
It will create a full block like above per version found in the tags.
|
||||
And it will create a list of the commits found.
|
||||
The `change_type` and the `scope` are optional, they don't need to be provided,
|
||||
but if your regex does they will be rendered.
|
||||
|
||||
The format followed by the changelog is the one from [keep a changelog][keepachangelog]
|
||||
and the following variables are expected:
|
||||
|
||||
| Variable | Description | Source |
|
||||
| ------------- | ---------------------------------------------------------------------------------------------- | -------------- |
|
||||
| `version` | Version number which should follow [semver][semver] | `tags` |
|
||||
| `date` | Date in which the tag was created | `tags` |
|
||||
| `change_type` | The group where the commit belongs to, this is optional. Example: fix | `commit regex` |
|
||||
| `message`\* | Information extracted from the commit message | `commit regex` |
|
||||
| `scope` | Contextual information. Should be parsed using the regex from the message, it will be **bold** | `commit regex` |
|
||||
| `breaking` | Whether is a breaking change or not | `commit regex` |
|
||||
|
||||
- **required**: is the only one required to be parsed by the regex
|
||||
|
||||
## Configuration
|
||||
|
||||
### `unreleased_version`
|
||||
|
||||
There is usually a chicken and egg situation when automatically
|
||||
bumping the version and creating the changelog.
|
||||
If you bump the version first, you have no changelog, you have to
|
||||
create it later, and it won't be included in
|
||||
the release of the created version.
|
||||
|
||||
If you create the changelog before bumping the version, then you
|
||||
usually don't have the latest tag, and the _Unreleased_ title appears.
|
||||
|
||||
By introducing `unreleased_version` you can prevent this situation.
|
||||
|
||||
Before bumping you can run:
|
||||
|
||||
```bash
|
||||
cz changelog --unreleased-version="v1.0.0"
|
||||
```
|
||||
|
||||
Remember to use the tag instead of the raw version number
|
||||
|
||||
For example if the format of your tag includes a `v` (`v1.0.0`), then you should use that,
|
||||
if your tag is the same as the raw version, then ignore this.
|
||||
|
||||
Alternatively you can directly bump the version and create the changelog by doing
|
||||
|
||||
```bash
|
||||
cz bump --changelog
|
||||
```
|
||||
|
||||
### `file-name`
|
||||
|
||||
This value can be updated in the `toml` file with the key `changelog_file` under `tools.commitizen`
|
||||
|
||||
Specify the name of the output file, remember that changelog only works with markdown.
|
||||
|
||||
```bash
|
||||
cz changelog --file-name="CHANGES.md"
|
||||
```
|
||||
|
||||
### `incremental`
|
||||
|
||||
This flag can be set in the `toml` file with the key `changelog_incremental` under `tools.commitizen`
|
||||
|
||||
Benefits:
|
||||
|
||||
- Build from latest version found in changelog, this is useful if you have a different changelog and want to use commitizen
|
||||
- Update unreleased area
|
||||
- Allows users to manually touch the changelog without being rewritten.
|
||||
|
||||
```bash
|
||||
cz changelog --incremental
|
||||
```
|
||||
|
||||
```toml
|
||||
[tools.commitizen]
|
||||
# ...
|
||||
changelog_incremental = true
|
||||
```
|
||||
|
||||
### `start-rev`
|
||||
|
||||
This value can be set in the `toml` file with the key `changelog_start_rev` under `tools.commitizen`
|
||||
|
||||
Start from a given git rev to generate the changelog. Commits before that rev will not be considered. This is especially useful for long-running projects adopting conventional commits, where old commit messages might fail to be parsed for changelog generation.
|
||||
|
||||
```bash
|
||||
cz changelog --start-rev="v0.2.0"
|
||||
```
|
||||
|
||||
```toml
|
||||
[tools.commitizen]
|
||||
# ...
|
||||
changelog_start_rev = "v0.2.0"
|
||||
```
|
||||
|
||||
### merge-prerelease
|
||||
|
||||
This flag can be set in the `toml` file with the key `changelog_merge_prerelease` under `tools.commitizen`
|
||||
|
||||
Collects changes from prereleases into the next non-prerelease. This means that if you have a prerelease version, and then a normal release, the changelog will show the prerelease changes as part of the changes of the normal release. If not set, it will include prereleases in the changelog.
|
||||
|
||||
```bash
|
||||
cz changelog --merge-prerelease
|
||||
```
|
||||
|
||||
```toml
|
||||
[tools.commitizen]
|
||||
# ...
|
||||
changelog_merge_prerelease = true
|
||||
```
|
||||
|
||||
### `template`
|
||||
|
||||
Provides your own changelog jinja template by using the `template` settings or the `--template` parameter.
|
||||
See [the template customization section](../customization.md#customizing-the-changelog-template)
|
||||
|
||||
### `extras`
|
||||
|
||||
Provides your own changelog extra variables by using the `extras` settings or the `--extra/-e` parameter.
|
||||
|
||||
```bash
|
||||
cz changelog --extra key=value -e short="quoted value"
|
||||
```
|
||||
|
||||
See [the template customization section](../customization.md#customizing-the-changelog-template)
|
||||
|
||||
## Hooks
|
||||
|
||||
Supported hook methods:
|
||||
|
||||
- per parsed message: useful to add links
|
||||
- end of changelog generation: useful to send slack or chat message, or notify another department
|
||||
|
||||
Read more about hooks in the [customization page][customization]
|
||||
|
||||
[keepachangelog]: https://keepachangelog.com/
|
||||
[semver]: https://semver.org/
|
||||
[customization]: ../customization.md
|
87
docs/commands/check.md
Normal file
|
@ -0,0 +1,87 @@
|
|||
# Check
|
||||
|
||||
## About
|
||||
|
||||
This feature checks whether the commit message follows the given committing rules. And comment in git message will be ignored.
|
||||
|
||||
If you want to setup an automatic check before every git commit, please refer to
|
||||
[Automatically check message before commit](../tutorials/auto_check.md).
|
||||
|
||||
## Usage
|
||||
|
||||

|
||||
|
||||
There are three mutually exclusive ways to use `cz check`:
|
||||
|
||||
- with `--rev-range` to check a range of pre-existing commits
|
||||
- with `--message` or by piping the message to it to check a given string
|
||||
- or with `--commit-msg-file` to read the commit message from a file
|
||||
|
||||
### Git Rev Range
|
||||
|
||||
If you'd like to check a commit's message after it has already been created, then you can specify the range of commits to check with `--rev-range REV_RANGE`.
|
||||
|
||||
```bash
|
||||
$ cz check --rev-range REV_RANGE
|
||||
```
|
||||
|
||||
For example, if you'd like to check all commits on a branch, you can use `--rev-range master..HEAD`. Or, if you'd like to check all commits starting from when you first implemented commit message linting, you can use `--rev-range <first_commit_sha>..HEAD`.
|
||||
|
||||
For more info on how git commit ranges work, you can check the [git documentation](https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection#_commit_ranges).
|
||||
|
||||
### Commit Message
|
||||
|
||||
There are two ways you can provide your plain message and check it.
|
||||
|
||||
#### Method 1: use -m or --message
|
||||
|
||||
```bash
|
||||
$ cz check --message MESSAGE
|
||||
```
|
||||
|
||||
In this option, MESSAGE is the commit message to be checked.
|
||||
|
||||
#### Method 2: use pipe to pipe it to `cz check`
|
||||
|
||||
```bash
|
||||
$ echo MESSAGE | cz check
|
||||
```
|
||||
|
||||
In this option, MESSAGE is piped to cz check and would be checked.
|
||||
|
||||
### Commit Message File
|
||||
|
||||
```bash
|
||||
$ cz check --commit-msg-file COMMIT_MSG_FILE
|
||||
```
|
||||
|
||||
In this option, COMMIT_MSG_FILE is the path of the temporal file that contains the commit message.
|
||||
This argument can be useful when cooperating with git hook, please check [Automatically check message before commit](../tutorials/auto_check.md) for more information about how to use this argument with git hook.
|
||||
|
||||
### Allow Abort
|
||||
|
||||
```bash
|
||||
cz check --message MESSAGE --allow-abort
|
||||
```
|
||||
|
||||
Empty commit messages typically instruct Git to abort a commit, so you can pass `--allow-abort` to
|
||||
permit them. Since `git commit` accepts an `--allow-empty-message` flag (primarily for wrapper scripts), you may wish to disallow such commits in CI. `--allow-abort` may be used in conjunction with any of the other options.
|
||||
|
||||
### Allowed Prefixes
|
||||
|
||||
If the commit message starts by some specific prefixes, `cz check` returns `True` without checkign the regex.
|
||||
By default, the the following prefixes are allowed: `Merge`, `Revert`, `Pull request`, `fixup!` and `squash!`.
|
||||
|
||||
```bash
|
||||
cz check --message MESSAGE --allowed-prefixes 'Merge' 'Revert' 'Custom Prefix'
|
||||
```
|
||||
|
||||
### Commit message length limit
|
||||
|
||||
The argument `-l` (or `--message-length-limmit`) followed by a positive number, can limit the length of commit messages.
|
||||
For example, `cz check --message MESSAGE -l 3` would fail the check, since `MESSAGE` is more than 3 characters long.
|
||||
By default, the limit is set to 0, which means no limit on the length.
|
||||
|
||||
**Note that the limit applies only to the first line of the message.***
|
||||
Specifically, for `ConventionalCommitsCz` the length only counts from the type of change to the subject,
|
||||
while the body, and the footer are not counted.
|
52
docs/commands/commit.md
Normal file
|
@ -0,0 +1,52 @@
|
|||

|
||||
|
||||
## About
|
||||
|
||||
In your terminal run `cz commit` or the shortcut `cz c` to generate a guided git commit.
|
||||
|
||||
You can run `cz commit --write-message-to-file COMMIT_MSG_FILE` to additionally save the
|
||||
generated message to a file. This can be combined with the `--dry-run` flag to only
|
||||
write the message to a file and not modify files and create a commit. A possible use
|
||||
case for this is to [automatically prepare a commit message](../tutorials/auto_prepare_commit_message.md).
|
||||
|
||||
|
||||
!!! note
|
||||
To maintain platform compatibility, the `commit` command disable ANSI escaping in its output.
|
||||
In particular pre-commit hooks coloring will be deactivated as discussed in [commitizen-tools/commitizen#417](https://github.com/commitizen-tools/commitizen/issues/417).
|
||||
|
||||
## Usage
|
||||
|
||||

|
||||
|
||||
### git options
|
||||
|
||||
`git` command options that are not implemented by commitizen can be use via the `--` syntax for the `commit` command.
|
||||
The syntax separates commitizen arguments from `git commit` arguments by a double dash. This is the resulting syntax:
|
||||
```sh
|
||||
cz commit <commitizen-args> -- <git-cli-args>
|
||||
|
||||
# e.g., cz commit --dry-run -- -a -S
|
||||
```
|
||||
For example, using the `-S` option on `git commit` to sign a commit is now commitizen compatible: `cz c -- -S`
|
||||
|
||||
!!! note
|
||||
Deprecation warning: A commit can be signed off using `cz commit --signoff` or the shortcut `cz commit -s`.
|
||||
This syntax is now deprecated in favor of the new `cz commit -- -s` syntax.
|
||||
|
||||
### Retry
|
||||
|
||||
You can use `cz commit --retry` to reuse the last commit message when the previous commit attempt failed.
|
||||
To automatically retry when running `cz commit`, you can set the `retry_after_failure`
|
||||
configuration option to `true`. Running `cz commit --no-retry` makes commitizen ignore `retry_after_failure`, forcing
|
||||
a new commit message to be prompted.
|
||||
|
||||
### Commit message length limit
|
||||
|
||||
The argument `-l` (or `--message-length-limit`) followed by a positive number can limit the length of commit messages.
|
||||
An exception would be raised when the message length exceeds the limit.
|
||||
For example, `cz commit -l 72` will limit the length of commit messages to 72 characters.
|
||||
By default the limit is set to 0, which means no limit on the length.
|
||||
|
||||
**Note that the limit applies only to the first line of the message.**
|
||||
Specifically, for `ConventionalCommitsCz` the length only counts from the type of change to the subject,
|
||||
while the body and the footer are not counted.
|
5
docs/commands/example.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
Show commit example
|
||||
|
||||
## Usage
|
||||
|
||||

|
5
docs/commands/info.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
Show information about the cz
|
||||
|
||||
## Usage
|
||||
|
||||

|
27
docs/commands/init.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
## Usage
|
||||
|
||||

|
||||
|
||||
## Example
|
||||
|
||||
To start using commitizen, the recommended approach is to run
|
||||
|
||||
```sh
|
||||
cz init
|
||||
```
|
||||
|
||||

|
||||
|
||||
This command will ask you for information about the project and will
|
||||
configure the selected file type (`pyproject.toml`, `.cz.toml`, etc.).
|
||||
|
||||
The `init` will help you with
|
||||
|
||||
1. Choose a convention rules (`name`)
|
||||
2. Choosing a version provider (`commitizen` or for example `Cargo.toml`)
|
||||
3. Detecting your project's version
|
||||
4. Detecting the tag format used
|
||||
5. Choosing a version type (`semver` or `pep440`)
|
||||
6. Whether to create the changelog automatically or not during bump
|
||||
7. Whether you want to keep the major as zero while building alpha software.
|
||||
8. Whether to setup pre-commit hooks.
|
3
docs/commands/ls.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
## Usage
|
||||
|
||||

|
5
docs/commands/schema.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
Show commit schema
|
||||
|
||||
## Usage
|
||||
|
||||

|
5
docs/commands/version.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
Get the version of the installed commitizen or the current project (default: installed commitizen)
|
||||
|
||||
## Usage
|
||||
|
||||

|
423
docs/config.md
Normal file
|
@ -0,0 +1,423 @@
|
|||
# Configuration
|
||||
|
||||
## Settings
|
||||
|
||||
### `name`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `"cz_conventional_commits"`
|
||||
|
||||
Name of the committing rules to use
|
||||
|
||||
### `version`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `None`
|
||||
|
||||
Current version. Example: "0.1.2". Required if you use `version_provider = "commitizen"`.
|
||||
|
||||
### `version_files`
|
||||
|
||||
Type: `list`
|
||||
|
||||
Default: `[ ]`
|
||||
|
||||
Files were the version will be updated. A pattern to match a line, can also be specified, separated by `:` [Read more][version_files]
|
||||
|
||||
### `version_provider`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `commitizen`
|
||||
|
||||
Version provider used to read and write version [Read more](#version-providers)
|
||||
|
||||
### `version_scheme`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `pep440`
|
||||
|
||||
Select a version scheme from the following options [`pep440`, `semver`, `semver2`].
|
||||
Useful for non-python projects. [Read more][version-scheme]
|
||||
|
||||
### `tag_format`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `$version`
|
||||
|
||||
Format for the git tag, useful for old projects, that use a convention like `"v1.2.1"`. [Read more][tag_format]
|
||||
|
||||
### `legacy_tag_formats`
|
||||
|
||||
Type: `list`
|
||||
|
||||
Default: `[ ]`
|
||||
|
||||
Legacy git tag formats, useful for old projects that changed tag format.
|
||||
Tags matching those formats will be recognized as version tags and be included in the changelog.
|
||||
Each entry use the the syntax as [`tag_format`](#tag_format). [Read more][tag_format]
|
||||
|
||||
### `ignored_tag_formats`
|
||||
|
||||
Type: `list`
|
||||
|
||||
Default: `[ ]`
|
||||
|
||||
Tags matching those formats will be totally ignored and won't raise a warning.
|
||||
Each entry use the the syntax as [`tag_format`](#tag_format) with the addition of `*`
|
||||
that will match everything (non-greedy). [Read more][tag_format]
|
||||
|
||||
### `update_changelog_on_bump`
|
||||
|
||||
Type: `bool`
|
||||
|
||||
Default: `false`
|
||||
|
||||
Create changelog when running `cz bump`
|
||||
|
||||
### `gpg_sign`
|
||||
|
||||
Type: `bool`
|
||||
|
||||
Default: `false`
|
||||
|
||||
Use gpg signed tags instead of lightweight tags.
|
||||
|
||||
### `annotated_tag`
|
||||
|
||||
Type: `bool`
|
||||
|
||||
Default: `false`
|
||||
|
||||
Use annotated tags instead of lightweight tags. [See difference][annotated-tags-vs-lightweight]
|
||||
|
||||
### `bump_message`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `None`
|
||||
|
||||
Create custom commit message, useful to skip ci. [Read more][bump_message]
|
||||
|
||||
### `retry_after_failure`
|
||||
|
||||
Type: `bool`
|
||||
|
||||
Default: `false`
|
||||
|
||||
Automatically retry failed commit when running `cz commit`. [Read more][retry_after_failure]
|
||||
|
||||
### `allow_abort`
|
||||
|
||||
Type: `bool`
|
||||
|
||||
Default: `false`
|
||||
|
||||
Disallow empty commit messages, useful in ci. [Read more][allow_abort]
|
||||
|
||||
### `allowed_prefixes`
|
||||
|
||||
Type: `list`
|
||||
Default: `[ "Merge", "Revert", "Pull request", "fixup!", "squash!"]`
|
||||
Allow some prefixes and do not try to match the regex when checking the message [Read more][allowed_prefixes]
|
||||
|
||||
### `changelog_file`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `CHANGELOG.md`
|
||||
|
||||
Filename of exported changelog
|
||||
|
||||
### `changelog_format`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: None
|
||||
|
||||
Format used to parse and generate the changelog, If not specified, guessed from [`changelog_file`](#changelog_file).
|
||||
|
||||
### `changelog_incremental`
|
||||
|
||||
Type: `bool`
|
||||
|
||||
Default: `false`
|
||||
|
||||
Update changelog with the missing versions. This is good if you don't want to replace previous versions in the file. Note: when doing `cz bump --changelog` this is automatically set to `true`
|
||||
|
||||
### `changelog_start_rev`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `None`
|
||||
|
||||
Start from a given git rev to generate the changelog
|
||||
|
||||
### `changelog_merge_prerelease`
|
||||
|
||||
Type: `bool`
|
||||
|
||||
Default: `false`
|
||||
|
||||
Collect all changes of prerelease versions into the next non-prerelease version when creating the changelog.
|
||||
|
||||
### `style`
|
||||
|
||||
Type: `list`
|
||||
|
||||
see above
|
||||
|
||||
Style for the prompts (It will merge this value with default style.) [See More (Styling your prompts with your favorite colors)][additional-features]
|
||||
|
||||
### `customize`
|
||||
|
||||
Type: `dict`
|
||||
|
||||
Default: `None`
|
||||
|
||||
**This is only supported when config through `toml`.** Custom rules for committing and bumping. [Read more][customization]
|
||||
|
||||
### `use_shortcuts`
|
||||
|
||||
Type: `bool`
|
||||
|
||||
Default: `false`
|
||||
|
||||
If enabled, commitizen will show keyboard shortcuts when selecting from a list. Define a `key` for each of your choices to set the key. [Read more][shortcuts]
|
||||
|
||||
### `major_version_zero`
|
||||
|
||||
Type: `bool`
|
||||
|
||||
Default: `false`
|
||||
|
||||
When true, breaking changes on a `0.x` will remain as a `0.x` version. On `false`, a breaking change will bump a `0.x` version to `1.0`. [major-version-zero]
|
||||
|
||||
### `prerelease_offset`
|
||||
|
||||
Type: `int`
|
||||
|
||||
Default: `0`
|
||||
|
||||
In some circumstances, a prerelease cannot start with a 0, e.g. in an embedded project individual characters are encoded as bytes. This can be done by specifying an offset from which to start counting. [prerelease-offset]
|
||||
|
||||
### `pre_bump_hooks`
|
||||
|
||||
Type: `list[str]`
|
||||
|
||||
Default: `[]`
|
||||
|
||||
Calls the hook scripts **before** bumping version. [Read more][pre_bump_hooks]
|
||||
|
||||
### `post_bump_hooks`
|
||||
|
||||
Type: `list[str]`
|
||||
|
||||
Default: `[]`
|
||||
|
||||
Calls the hook scripts **after** bumping the version. [Read more][post_bump_hooks]
|
||||
|
||||
### `encoding`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `utf-8`
|
||||
|
||||
Sets the character encoding to be used when parsing commit messages. [Read more][encoding]
|
||||
|
||||
### `template`
|
||||
|
||||
Type: `str`
|
||||
|
||||
Default: `None` (provided by plugin)
|
||||
|
||||
Provide custom changelog jinja template path relative to the current working directory. [Read more][template-customization]
|
||||
|
||||
### `extras`
|
||||
|
||||
Type: `dict[str, Any]`
|
||||
|
||||
Default: `{}`
|
||||
|
||||
Provide extra variables to the changelog template. [Read more][template-customization]
|
||||
|
||||
## Configuration file
|
||||
|
||||
### pyproject.toml, .cz.toml or cz.toml
|
||||
|
||||
Default and recommended configuration format for a project.
|
||||
For a **python** project, we recommend adding an entry to your `pyproject.toml`.
|
||||
You can also create a `.cz.toml` or `cz.toml` file at the root of your project folder.
|
||||
|
||||
Example configuration:
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
name = "cz_conventional_commits"
|
||||
version = "0.1.0"
|
||||
version_files = [
|
||||
"src/__version__.py",
|
||||
"pyproject.toml:version"
|
||||
]
|
||||
update_changelog_on_bump = true
|
||||
style = [
|
||||
["qmark", "fg:#ff9d00 bold"],
|
||||
["question", "bold"],
|
||||
["answer", "fg:#ff9d00 bold"],
|
||||
["pointer", "fg:#ff9d00 bold"],
|
||||
["highlighted", "fg:#ff9d00 bold"],
|
||||
["selected", "fg:#cc5454"],
|
||||
["separator", "fg:#cc5454"],
|
||||
["instruction", ""],
|
||||
["text", ""],
|
||||
["disabled", "fg:#858585 italic"]
|
||||
]
|
||||
```
|
||||
|
||||
### .cz.json or cz.json
|
||||
|
||||
Commitizen has support for JSON configuration. Recommended for `NodeJS` projects.
|
||||
|
||||
```json
|
||||
{
|
||||
"commitizen": {
|
||||
"name": "cz_conventional_commits",
|
||||
"version": "0.1.0",
|
||||
"version_files": ["src/__version__.py", "pyproject.toml:version"],
|
||||
"style": [
|
||||
["qmark", "fg:#ff9d00 bold"],
|
||||
["question", "bold"],
|
||||
["answer", "fg:#ff9d00 bold"],
|
||||
["pointer", "fg:#ff9d00 bold"],
|
||||
["highlighted", "fg:#ff9d00 bold"],
|
||||
["selected", "fg:#cc5454"],
|
||||
["separator", "fg:#cc5454"],
|
||||
["instruction", ""],
|
||||
["text", ""],
|
||||
["disabled", "fg:#858585 italic"]
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### .cz.yaml or cz.yaml
|
||||
|
||||
YAML configuration is supported by Commitizen. Recommended for `Go`, `ansible`, or even `helm` charts projects.
|
||||
|
||||
```yaml
|
||||
commitizen:
|
||||
name: cz_conventional_commits
|
||||
version: 0.1.0
|
||||
version_files:
|
||||
- src/__version__.py
|
||||
- pyproject.toml:version
|
||||
style:
|
||||
- - qmark
|
||||
- fg:#ff9d00 bold
|
||||
- - question
|
||||
- bold
|
||||
- - answer
|
||||
- fg:#ff9d00 bold
|
||||
- - pointer
|
||||
- fg:#ff9d00 bold
|
||||
- - highlighted
|
||||
- fg:#ff9d00 bold
|
||||
- - selected
|
||||
- fg:#cc5454
|
||||
- - separator
|
||||
- fg:#cc5454
|
||||
- - instruction
|
||||
- ""
|
||||
- - text
|
||||
- ""
|
||||
- - disabled
|
||||
- fg:#858585 italic
|
||||
```
|
||||
|
||||
## Version providers
|
||||
|
||||
Commitizen can read and write version from different sources.
|
||||
By default, it use the `commitizen` one which is using the `version` field from the commitizen settings.
|
||||
But you can use any `commitizen.provider` entrypoint as value for `version_provider`.
|
||||
|
||||
Commitizen provides some version providers for some well known formats:
|
||||
|
||||
| name | description |
|
||||
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `commitizen` | Default version provider: Fetch and set version in commitizen config. |
|
||||
| `scm` | Fetch the version from git and does not need to set it back |
|
||||
| `pep621` | Get and set version from `pyproject.toml` `project.version` field |
|
||||
| `poetry` | Get and set version from `pyproject.toml` `tool.poetry.version` field |
|
||||
| `uv` | Get and set version from `pyproject.toml` `project.version` field and `uv.lock` `package.version` field whose `package.name` field is the same as `pyproject.toml` `project.name` field |
|
||||
| `cargo` | Get and set version from `Cargo.toml` `project.version` field |
|
||||
| `npm` | Get and set version from `package.json` `version` field, `package-lock.json` `version,packages.''.version` fields if the file exists, and `npm-shrinkwrap.json` `version,packages.''.version` fields if the file exists |
|
||||
| `composer` | Get and set version from `composer.json` `project.version` field |
|
||||
|
||||
!!! note
|
||||
The `scm` provider is meant to be used with `setuptools-scm` or any packager `*-scm` plugin.
|
||||
|
||||
An example in your `.cz.toml` or `cz.toml` would look like this:
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
version_provider = "pep621"
|
||||
```
|
||||
|
||||
### Custom version provider
|
||||
|
||||
You can add you own version provider by extending `VersionProvider` and exposing it on the `commitizen.provider` entrypoint.
|
||||
|
||||
Here a quick example of a `my-provider` provider reading and writing version in a `VERSION` file.
|
||||
|
||||
```python title="my_provider.py"
|
||||
from pathlib import Path
|
||||
from commitizen.providers import VersionProvider
|
||||
|
||||
|
||||
class MyProvider(VersionProvider):
|
||||
file = Path() / "VERSION"
|
||||
|
||||
def get_version(self) -> str:
|
||||
return self.file.read_text()
|
||||
|
||||
def set_version(self, version: str):
|
||||
self.file.write_text(version)
|
||||
```
|
||||
|
||||
```python title="setup.py"
|
||||
from setuptools import setup
|
||||
|
||||
setup(
|
||||
name="my-commitizen-provider",
|
||||
version="0.1.0",
|
||||
py_modules=["my_provider"],
|
||||
install_requires=["commitizen"],
|
||||
entry_points={
|
||||
"commitizen.provider": [
|
||||
"my-provider = my_provider:MyProvider",
|
||||
]
|
||||
},
|
||||
)
|
||||
```
|
||||
|
||||
[version_files]: commands/bump.md#version_files
|
||||
[tag_format]: commands/bump.md#tag_format
|
||||
[bump_message]: commands/bump.md#bump_message
|
||||
[major-version-zero]: commands/bump.md#-major-version-zero
|
||||
[prerelease-offset]: commands/bump.md#-prerelease_offset
|
||||
[retry_after_failure]: commands/commit.md#retry
|
||||
[allow_abort]: commands/check.md#allow-abort
|
||||
[version-scheme]: commands/bump.md#version-scheme
|
||||
[pre_bump_hooks]: commands/bump.md#pre_bump_hooks
|
||||
[post_bump_hooks]: commands/bump.md#post_bump_hooks
|
||||
[allowed_prefixes]: commands/check.md#allowed-prefixes
|
||||
[additional-features]: https://github.com/tmbo/questionary#additional-features
|
||||
[customization]: customization.md
|
||||
[shortcuts]: customization.md#shortcut-keys
|
||||
[template-customization]: customization.md#customizing-the-changelog-template
|
||||
[annotated-tags-vs-lightweight]: https://stackoverflow.com/a/11514139/2047185
|
||||
[encoding]: tutorials/writing_commits.md#writing-commits
|
108
docs/contributing.md
Normal file
|
@ -0,0 +1,108 @@
|
|||
## Contributing to commitizen
|
||||
|
||||
First of all, thank you for taking the time to contribute! 🎉
|
||||
|
||||
When contributing to [commitizen](https://github.com/commitizen-tools/commitizen), please first create an [issue](https://github.com/commitizen-tools/commitizen/issues) to discuss the change you wish to make before making a change.
|
||||
|
||||
If you're a first-time contributor, you can check the issues with [good first issue](https://github.com/commitizen-tools/commitizen/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) tag.
|
||||
|
||||
## Install before contributing
|
||||
|
||||
1. Install [poetry](https://python-poetry.org/) `>=2.0.0`, installation [pages](https://python-poetry.org/docs/#installing-with-the-official-installer)
|
||||
2. Install [gpg](https://gnupg.org), installation [pages](https://gnupg.org/documentation/manuals/gnupg/Installation.html#Installation). For Mac users, you could try [homebrew](https://brew.sh/).
|
||||
|
||||
## Before making a pull request
|
||||
|
||||
1. Fork [the repository](https://github.com/commitizen-tools/commitizen).
|
||||
2. Clone the repository from your GitHub.
|
||||
3. Setup development environment through [poetry](https://python-poetry.org/) (`poetry install`).
|
||||
4. Setup [pre-commit](https://pre-commit.com/) hook (`poetry setup-pre-commit`)
|
||||
5. Check out a new branch and add your modification.
|
||||
6. Add test cases for all your changes.
|
||||
(We use [CodeCov](https://codecov.io/) to ensure our test coverage does not drop.)
|
||||
7. Use [commitizen](https://github.com/commitizen-tools/commitizen) to do git commit. We follow [conventional commits](https://www.conventionalcommits.org/).
|
||||
8. Run `poetry all` to ensure you follow the coding style and the tests pass.
|
||||
9. Optionally, update the `./docs/README.md` or `docs/images/cli_help` (through running `poetry doc:screenshots`).
|
||||
9. **Do not** update the `CHANGELOG.md`, it will be automatically created after merging to `master`.
|
||||
10. **Do not** update the versions in the project, they will be automatically updated.
|
||||
10. If your changes are about documentation. Run `poetry doc` to serve documentation locally and check whether there is any warning or error.
|
||||
11. Send a [pull request](https://github.com/commitizen-tools/commitizen/pulls) 🙏
|
||||
|
||||
## Use of GitHub Labels
|
||||
|
||||
* good-first-issue *(issue only)*
|
||||
* help-wanted
|
||||
* issue-status: needs-triage *(issue only)* **(default label for issues)**
|
||||
* issue-status: wont-fix
|
||||
* issue-status: wont-implement
|
||||
* issue-status: duplicate
|
||||
* issue-status: invalid
|
||||
* issue-status: wait-for-response
|
||||
* issue-status: wait-for-implementation
|
||||
* issue-status: pr-created
|
||||
* pr-status: wait-for-review **(default label for PRs)**
|
||||
* pr-status: reviewing
|
||||
* pr-status: wait-for-modification
|
||||
* pr-status: wait-for-response
|
||||
* pr-status: ready-to-merge
|
||||
* needs: test-case *(pr only)*
|
||||
* needs: documentation *(pr only)*
|
||||
* type: feature
|
||||
* type: bug
|
||||
* type: documentation
|
||||
* type: refactor
|
||||
* type: question *(issue only)*
|
||||
* os: Windows
|
||||
* os: Linux
|
||||
* os: macOS
|
||||
|
||||
|
||||
### Issue life cycle
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
input[/issue created/] -->
|
||||
needs-triage
|
||||
needs-triage --triage--> close(wont-implement, wont-fix, duplicate, invalid)
|
||||
|
||||
needs-triage --triage--> wait-for-implementation
|
||||
needs-triage --triage--> wait-for-response
|
||||
|
||||
wait-for-response --response--> needs-triage
|
||||
|
||||
wait-for-implementation --PR-created--> pr-created --PR-merged--> output[/close/]
|
||||
|
||||
close --> output[/close/]
|
||||
```
|
||||
|
||||
### Pull request life cycle
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
input[/pull request created/] -->
|
||||
wait-for-review
|
||||
--start reviewing -->
|
||||
reviewing
|
||||
--finish review -->
|
||||
reviewed{approved}
|
||||
|
||||
reviewed --Y-->
|
||||
wait-for-merge -->
|
||||
output[/merge/]
|
||||
|
||||
reviewed --n-->
|
||||
require-more-information{require more information}
|
||||
|
||||
require-more-information --y-->
|
||||
wait-for-response
|
||||
--response-->
|
||||
require-more-information
|
||||
|
||||
require-more-information --n-->
|
||||
wait-for-modification
|
||||
--modification-received-->
|
||||
review
|
||||
```
|
||||
|
||||
|
||||
[conventional-commits]: https://www.conventionalcommits.org/
|
527
docs/customization.md
Normal file
|
@ -0,0 +1,527 @@
|
|||
Customizing commitizen is not hard at all.
|
||||
We have two different ways to do so.
|
||||
|
||||
## 1. Customize in configuration file
|
||||
|
||||
The basic steps are:
|
||||
|
||||
1. Define your custom committing or bumping rules in the configuration file.
|
||||
2. Declare `name = "cz_customize"` in your configuration file, or add `-n cz_customize` when running commitizen.
|
||||
|
||||
Example:
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
name = "cz_customize"
|
||||
|
||||
[tool.commitizen.customize]
|
||||
message_template = "{{change_type}}:{% if show_message %} {{message}}{% endif %}"
|
||||
example = "feature: this feature enable customize through config file"
|
||||
schema = "<type>: <body>"
|
||||
schema_pattern = "(feature|bug fix):(\\s.*)"
|
||||
bump_pattern = "^(break|new|fix|hotfix)"
|
||||
bump_map = {"break" = "MAJOR", "new" = "MINOR", "fix" = "PATCH", "hotfix" = "PATCH"}
|
||||
change_type_order = ["BREAKING CHANGE", "feat", "fix", "refactor", "perf"]
|
||||
info_path = "cz_customize_info.txt"
|
||||
info = """
|
||||
This is customized info
|
||||
"""
|
||||
commit_parser = "^(?P<change_type>feature|bug fix):\\s(?P<message>.*)?"
|
||||
changelog_pattern = "^(feature|bug fix)?(!)?"
|
||||
change_type_map = {"feature" = "Feat", "bug fix" = "Fix"}
|
||||
|
||||
[[tool.commitizen.customize.questions]]
|
||||
type = "list"
|
||||
name = "change_type"
|
||||
choices = [{value = "feature", name = "feature: A new feature."}, {value = "bug fix", name = "bug fix: A bug fix."}]
|
||||
# choices = ["feature", "fix"] # short version
|
||||
message = "Select the type of change you are committing"
|
||||
|
||||
[[tool.commitizen.customize.questions]]
|
||||
type = "input"
|
||||
name = "message"
|
||||
message = "Body."
|
||||
|
||||
[[tool.commitizen.customize.questions]]
|
||||
type = "confirm"
|
||||
name = "show_message"
|
||||
message = "Do you want to add body message in commit?"
|
||||
```
|
||||
|
||||
The equivalent example for a json config file:
|
||||
|
||||
```json
|
||||
{
|
||||
"commitizen": {
|
||||
"name": "cz_customize",
|
||||
"customize": {
|
||||
"message_template": "{{change_type}}:{% if show_message %} {{message}}{% endif %}",
|
||||
"example": "feature: this feature enable customize through config file",
|
||||
"schema": "<type>: <body>",
|
||||
"schema_pattern": "(feature|bug fix):(\\s.*)",
|
||||
"bump_pattern": "^(break|new|fix|hotfix)",
|
||||
"bump_map": {
|
||||
"break": "MAJOR",
|
||||
"new": "MINOR",
|
||||
"fix": "PATCH",
|
||||
"hotfix": "PATCH"
|
||||
},
|
||||
"change_type_order": ["BREAKING CHANGE", "feat", "fix", "refactor", "perf"],
|
||||
"info_path": "cz_customize_info.txt",
|
||||
"info": "This is customized info",
|
||||
"commit_parser": "^(?P<change_type>feature|bug fix):\\s(?P<message>.*)?",
|
||||
"changelog_pattern": "^(feature|bug fix)?(!)?",
|
||||
"change_type_map": {"feature": "Feat", "bug fix": "Fix"},
|
||||
"questions": [
|
||||
{
|
||||
"type": "list",
|
||||
"name": "change_type",
|
||||
"choices": [
|
||||
{
|
||||
"value": "feature",
|
||||
"name": "feature: A new feature."
|
||||
},
|
||||
{
|
||||
"value": "bug fix",
|
||||
"name": "bug fix: A bug fix."
|
||||
}
|
||||
],
|
||||
"message": "Select the type of change you are committing"
|
||||
},
|
||||
{
|
||||
"type": "input",
|
||||
"name": "message",
|
||||
"message": "Body."
|
||||
},
|
||||
{
|
||||
"type": "confirm",
|
||||
"name": "show_message",
|
||||
"message": "Do you want to add body message in commit?"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
And the correspondent example for a yaml file:
|
||||
|
||||
```yaml
|
||||
commitizen:
|
||||
name: cz_customize
|
||||
customize:
|
||||
message_template: "{{change_type}}:{% if show_message %} {{message}}{% endif %}"
|
||||
example: 'feature: this feature enable customize through config file'
|
||||
schema: "<type>: <body>"
|
||||
schema_pattern: "(feature|bug fix):(\\s.*)"
|
||||
bump_pattern: "^(break|new|fix|hotfix)"
|
||||
commit_parser: "^(?P<change_type>feature|bug fix):\\s(?P<message>.*)?"
|
||||
changelog_pattern: "^(feature|bug fix)?(!)?"
|
||||
change_type_map:
|
||||
feature: Feat
|
||||
bug fix: Fix
|
||||
bump_map:
|
||||
break: MAJOR
|
||||
new: MINOR
|
||||
fix: PATCH
|
||||
hotfix: PATCH
|
||||
change_type_order: ["BREAKING CHANGE", "feat", "fix", "refactor", "perf"]
|
||||
info_path: cz_customize_info.txt
|
||||
info: This is customized info
|
||||
questions:
|
||||
- type: list
|
||||
name: change_type
|
||||
choices:
|
||||
- value: feature
|
||||
name: 'feature: A new feature.'
|
||||
- value: bug fix
|
||||
name: 'bug fix: A bug fix.'
|
||||
message: Select the type of change you are committing
|
||||
- type: input
|
||||
name: message
|
||||
message: 'Body.'
|
||||
- type: confirm
|
||||
name: show_message
|
||||
message: 'Do you want to add body message in commit?'
|
||||
```
|
||||
|
||||
### Customize configuration
|
||||
|
||||
| Parameter | Type | Default | Description |
|
||||
| ------------------- | ------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `questions` | `Questions` | `None` | Questions regarding the commit message. Detailed below. The type `Questions` is an alias to `Iterable[MutableMapping[str, Any]]` which is defined in `commitizen.defaults`. It expects a list of dictionaries. |
|
||||
| `message_template` | `str` | `None` | The template for generating message from the given answers. `message_template` should either follow [Jinja2][jinja2] formatting specification, and all the variables in this template should be defined in `name` in `questions` |
|
||||
| `example` | `str` | `""` | (OPTIONAL) Provide an example to help understand the style. Used by `cz example`. |
|
||||
| `schema` | `str` | `""` | (OPTIONAL) Show the schema used. Used by `cz schema`. |
|
||||
| `schema_pattern` | `str` | `""` | (OPTIONAL) The regular expression used to do commit message validation. Used by `cz check`. |
|
||||
| `info_path` | `str` | `""` | (OPTIONAL) The path to the file that contains explanation of the commit rules. Used by `cz info`. If not provided `cz info`, will load `info` instead. |
|
||||
| `info` | `str` | `""` | (OPTIONAL) Explanation of the commit rules. Used by `cz info`. |
|
||||
| `bump_map` | `dict` | `None` | (OPTIONAL) Dictionary mapping the extracted information to a `SemVer` increment type (`MAJOR`, `MINOR`, `PATCH`) |
|
||||
| `bump_pattern` | `str` | `None` | (OPTIONAL) Regex to extract information from commit (subject and body) |
|
||||
| `change_type_order`| `str` | `None` | (OPTIONAL) List of strings used to order the Changelog. All other types will be sorted alphabetically. Default is `["BREAKING CHANGE", "Feat", "Fix", "Refactor", "Perf"]` |
|
||||
| `commit_parser` | `str` | `None` | (OPTIONAL) Regex to extract information used in creating changelog. [See more][changelog-spec] |
|
||||
| `changelog_pattern` | `str` | `None` | (OPTIONAL) Regex to understand which commits to include in the changelog |
|
||||
| `change_type_map` | `dict` | `None` | (OPTIONAL) Dictionary mapping the type of the commit to a changelog entry |
|
||||
|
||||
[jinja2]: https://jinja.palletsprojects.com/en/2.10.x/
|
||||
[changelog-spec]: https://commitizen-tools.github.io/commitizen/changelog/
|
||||
|
||||
#### Detailed `questions` content
|
||||
|
||||
| Parameter | Type | Default | Description |
|
||||
| ----------- | ------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `type` | `str` | `None` | The type of questions. Valid type: `list`, `input` and etc. [See More][different-question-types] |
|
||||
| `name` | `str` | `None` | The key for the value answered by user. It's used in `message_template` |
|
||||
| `message` | `str` | `None` | Detail description for the question. |
|
||||
| `choices` | `list` | `None` | (OPTIONAL) The choices when `type = list`. Either use a list of values or a list of dictionaries with `name` and `value` keys. Keyboard shortcuts can be defined via `key`. See examples above. |
|
||||
| `default` | `Any` | `None` | (OPTIONAL) The default value for this question. |
|
||||
| `filter` | `str` | `None` | (OPTIONAL) Validator for user's answer. **(Work in Progress)** |
|
||||
| `multiline` | `bool` | `False` | (OPTIONAL) Enable multiline support when `type = input`. |
|
||||
[different-question-types]: https://github.com/tmbo/questionary#different-question-types
|
||||
|
||||
#### Shortcut keys
|
||||
|
||||
When the [`use_shortcuts`](config.md#settings) config option is enabled, commitizen can show and use keyboard shortcuts to select items from lists directly.
|
||||
For example, when using the `cz_conventional_commits` commitizen template, shortcut keys are shown when selecting the commit type. Unless otherwise defined, keyboard shortcuts will be numbered automatically.
|
||||
To specify keyboard shortcuts for your custom choices, provide the shortcut using the `key` parameter in dictionary form for each choice you would like to customize.
|
||||
|
||||
## 2. Customize through customizing a class
|
||||
|
||||
The basic steps are:
|
||||
|
||||
1. Inheriting from `BaseCommitizen`
|
||||
2. Give a name to your rules.
|
||||
3. Create a python package using `setup.py`, `poetry`, etc
|
||||
4. Expose the class as a `commitizen.plugin` entrypoint
|
||||
|
||||
Check an [example][convcomms] on how to configure `BaseCommitizen`.
|
||||
|
||||
You can also automate the steps above through [cookiecutter](https://cookiecutter.readthedocs.io/en/1.7.0/).
|
||||
|
||||
```sh
|
||||
cookiecutter gh:commitizen-tools/commitizen_cz_template
|
||||
```
|
||||
|
||||
See [commitizen_cz_template](https://github.com/commitizen-tools/commitizen_cz_template) for details.
|
||||
|
||||
Once you publish your rules, you can send us a PR to the [Third-party section](./third-party-commitizen.md).
|
||||
|
||||
### Custom commit rules
|
||||
|
||||
Create a Python module, for example `cz_jira.py`.
|
||||
|
||||
Inherit from `BaseCommitizen`, and you must define `questions` and `message`. The others are optional.
|
||||
|
||||
```python
|
||||
from commitizen.cz.base import BaseCommitizen
|
||||
from commitizen.defaults import Questions
|
||||
|
||||
|
||||
class JiraCz(BaseCommitizen):
|
||||
# Questions = Iterable[MutableMapping[str, Any]]
|
||||
# It expects a list with dictionaries.
|
||||
def questions(self) -> Questions:
|
||||
"""Questions regarding the commit message."""
|
||||
questions = [
|
||||
{"type": "input", "name": "title", "message": "Commit title"},
|
||||
{"type": "input", "name": "issue", "message": "Jira Issue number:"},
|
||||
]
|
||||
return questions
|
||||
|
||||
def message(self, answers: dict) -> str:
|
||||
"""Generate the message with the given answers."""
|
||||
return "{0} (#{1})".format(answers["title"], answers["issue"])
|
||||
|
||||
def example(self) -> str:
|
||||
"""Provide an example to help understand the style (OPTIONAL)
|
||||
|
||||
Used by `cz example`.
|
||||
"""
|
||||
return "Problem with user (#321)"
|
||||
|
||||
def schema(self) -> str:
|
||||
"""Show the schema used (OPTIONAL)
|
||||
|
||||
Used by `cz schema`.
|
||||
"""
|
||||
return "<title> (<issue>)"
|
||||
|
||||
def info(self) -> str:
|
||||
"""Explanation of the commit rules. (OPTIONAL)
|
||||
|
||||
Used by `cz info`.
|
||||
"""
|
||||
return "We use this because is useful"
|
||||
```
|
||||
|
||||
The next file required is `setup.py` modified from flask version.
|
||||
|
||||
```python
|
||||
from setuptools import setup
|
||||
|
||||
setup(
|
||||
name="JiraCommitizen",
|
||||
version="0.1.0",
|
||||
py_modules=["cz_jira"],
|
||||
license="MIT",
|
||||
long_description="this is a long description",
|
||||
install_requires=["commitizen"],
|
||||
entry_points={"commitizen.plugin": ["cz_jira = cz_jira:JiraCz"]},
|
||||
)
|
||||
```
|
||||
|
||||
So in the end, we would have
|
||||
|
||||
.
|
||||
├── cz_jira.py
|
||||
└── setup.py
|
||||
|
||||
And that's it. You can install it without uploading to pypi by simply
|
||||
doing `pip install .`
|
||||
|
||||
If you feel like it should be part of this repo, create a PR.
|
||||
|
||||
### Custom bump rules
|
||||
|
||||
You need to define 2 parameters inside your custom `BaseCommitizen`.
|
||||
|
||||
| Parameter | Type | Default | Description |
|
||||
| -------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| `bump_pattern` | `str` | `None` | Regex to extract information from commit (subject and body) |
|
||||
| `bump_map` | `dict` | `None` | Dictionary mapping the extracted information to a `SemVer` increment type (`MAJOR`, `MINOR`, `PATCH`) |
|
||||
|
||||
Let's see an example.
|
||||
|
||||
```python
|
||||
from commitizen.cz.base import BaseCommitizen
|
||||
|
||||
|
||||
class StrangeCommitizen(BaseCommitizen):
|
||||
bump_pattern = r"^(break|new|fix|hotfix)"
|
||||
bump_map = {"break": "MAJOR", "new": "MINOR", "fix": "PATCH", "hotfix": "PATCH"}
|
||||
```
|
||||
|
||||
That's it, your commitizen now supports custom rules, and you can run.
|
||||
|
||||
```bash
|
||||
cz -n cz_strange bump
|
||||
```
|
||||
|
||||
[convcomms]: https://github.com/commitizen-tools/commitizen/blob/master/commitizen/cz/conventional_commits/conventional_commits.py
|
||||
|
||||
### Custom changelog generator
|
||||
|
||||
The changelog generator should just work in a very basic manner without touching anything.
|
||||
You can customize it of course, and this are the variables you need to add to your custom `BaseCommitizen`.
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| -------------------------------- | ------------------------------------------------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `commit_parser` | `str` | NO | Regex which should provide the variables explained in the [changelog description][changelog-des] |
|
||||
| `changelog_pattern` | `str` | NO | Regex to validate the commits, this is useful to skip commits that don't meet your ruling standards like a Merge. Usually the same as bump_pattern |
|
||||
| `change_type_map` | `dict` | NO | Convert the title of the change type that will appear in the changelog, if a value is not found, the original will be provided |
|
||||
| `changelog_message_builder_hook` | `method: (dict, git.GitCommit) -> dict | list | None` | NO | Customize with extra information your message output, like adding links, this function is executed per parsed commit. Each GitCommit contains the following attrs: `rev`, `title`, `body`, `author`, `author_email`. Returning a falsy value ignore the commit. |
|
||||
| `changelog_hook` | `method: (full_changelog: str, partial_changelog: Optional[str]) -> str` | NO | Receives the whole and partial (if used incremental) changelog. Useful to send slack messages or notify a compliance department. Must return the full_changelog |
|
||||
| `changelog_release_hook` | `method: (release: dict, tag: git.GitTag) -> dict` | NO | Receives each generated changelog release and its associated tag. Useful to enrich a releases before they are rendered. Must return the update release
|
||||
|
||||
```python
|
||||
from commitizen.cz.base import BaseCommitizen
|
||||
import chat
|
||||
import compliance
|
||||
|
||||
|
||||
class StrangeCommitizen(BaseCommitizen):
|
||||
changelog_pattern = r"^(break|new|fix|hotfix)"
|
||||
commit_parser = r"^(?P<change_type>feat|fix|refactor|perf|BREAKING CHANGE)(?:\((?P<scope>[^()\r\n]*)\)|\()?(?P<breaking>!)?:\s(?P<message>.*)?"
|
||||
change_type_map = {
|
||||
"feat": "Features",
|
||||
"fix": "Bug Fixes",
|
||||
"refactor": "Code Refactor",
|
||||
"perf": "Performance improvements",
|
||||
}
|
||||
|
||||
def changelog_message_builder_hook(
|
||||
self, parsed_message: dict, commit: git.GitCommit
|
||||
) -> dict | list | None:
|
||||
rev = commit.rev
|
||||
m = parsed_message["message"]
|
||||
parsed_message[
|
||||
"message"
|
||||
] = f"{m} {rev} [{commit.author}]({commit.author_email})"
|
||||
return parsed_message
|
||||
|
||||
def changelog_release_hook(self, release: dict, tag: git.GitTag) -> dict:
|
||||
release["author"] = tag.author
|
||||
return release
|
||||
|
||||
def changelog_hook(
|
||||
self, full_changelog: str, partial_changelog: Optional[str]
|
||||
) -> str:
|
||||
"""Executed at the end of the changelog generation
|
||||
|
||||
full_changelog: it's the output about to being written into the file
|
||||
partial_changelog: it's the new stuff, this is useful to send slack messages or
|
||||
similar
|
||||
|
||||
Return:
|
||||
the new updated full_changelog
|
||||
"""
|
||||
if partial_changelog:
|
||||
chat.room("#committers").notify(partial_changelog)
|
||||
if full_changelog:
|
||||
compliance.send(full_changelog)
|
||||
full_changelog.replace(" fix ", " **fix** ")
|
||||
return full_changelog
|
||||
```
|
||||
|
||||
[changelog-des]: ./commands/changelog.md#description
|
||||
|
||||
### Raise Customize Exception
|
||||
|
||||
If you want `commitizen` to catch your exception and print the message, you'll have to inherit `CzException`.
|
||||
|
||||
```python
|
||||
from commitizen.cz.exception import CzException
|
||||
|
||||
|
||||
class NoSubjectProvidedException(CzException):
|
||||
...
|
||||
```
|
||||
|
||||
### Migrating from legacy plugin format
|
||||
|
||||
Commitizen migrated to a new plugin format relying on `importlib.metadata.EntryPoint`.
|
||||
Migration should be straight-forward for legacy plugins:
|
||||
|
||||
- Remove the `discover_this` line from you plugin module
|
||||
- Expose the plugin class under as a `commitizen.plugin` entrypoint.
|
||||
|
||||
The name of the plugin is now determined by the name of the entrypoint.
|
||||
|
||||
#### Example
|
||||
|
||||
If you were having a `CzPlugin` class in a `cz_plugin.py` module like this:
|
||||
|
||||
```python
|
||||
from commitizen.cz.base import BaseCommitizen
|
||||
|
||||
|
||||
class PluginCz(BaseCommitizen):
|
||||
...
|
||||
|
||||
|
||||
discover_this = PluginCz
|
||||
```
|
||||
|
||||
Then remove the `discover_this` line:
|
||||
|
||||
```python
|
||||
from commitizen.cz.base import BaseCommitizen
|
||||
|
||||
|
||||
class PluginCz(BaseCommitizen):
|
||||
...
|
||||
```
|
||||
|
||||
and expose the class as entrypoint in you setuptools:
|
||||
|
||||
```python
|
||||
from setuptools import setup
|
||||
|
||||
setup(
|
||||
name="MyPlugin",
|
||||
version="0.1.0",
|
||||
py_modules=["cz_plugin"],
|
||||
entry_points={"commitizen.plugin": ["plugin = cz_plugin:PluginCz"]},
|
||||
...,
|
||||
)
|
||||
```
|
||||
|
||||
Then your plugin will be available under the name `plugin`.
|
||||
|
||||
## Customizing the changelog template
|
||||
|
||||
Commitizen gives you the possibility to provide your own changelog template, by:
|
||||
|
||||
- providing one with your customization class
|
||||
- providing one from the current working directory and setting it:
|
||||
- as [configuration][template-config]
|
||||
- as `--template` parameter to both `bump` and `changelog` commands
|
||||
- either by providing a template with the same name as the default template
|
||||
|
||||
By default, the template used is the `CHANGELOG.md.j2` file from the commitizen repository.
|
||||
|
||||
### Providing a template with your customization class
|
||||
|
||||
There is 3 parameters available to change the template rendering from your custom `BaseCommitizen`.
|
||||
|
||||
| Parameter | Type | Default | Description |
|
||||
| ----------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| `template` | `str` | `None` | Provide your own template name (default to `CHANGELOG.md.j2`) |
|
||||
| `template_loader` | `str` | `None` | Override the default template loader (so you can provide template from you customization class) |
|
||||
| `template_extras` | `dict` | `None` | Provide some extra template parameters |
|
||||
|
||||
Let's see an example.
|
||||
|
||||
```python
|
||||
from commitizen.cz.base import BaseCommitizen
|
||||
from jinja2 import PackageLoader
|
||||
|
||||
|
||||
class MyPlugin(BaseCommitizen):
|
||||
template = "CHANGELOG.md.jinja"
|
||||
template_loader = PackageLoader("my_plugin", "templates")
|
||||
template_extras = {"key": "value"}
|
||||
```
|
||||
|
||||
This snippet will:
|
||||
|
||||
- use `CHANGELOG.md.jinja` as template name
|
||||
- search for it in the `templates` directory for `my_plugin` package
|
||||
- add the `key=value` variable in the template
|
||||
|
||||
### Providing a template from the current working directory
|
||||
|
||||
Users can provides their own template from their current working directory (your project root) by:
|
||||
|
||||
- providing a template with the same name (`CHANGELOG.md.j2` unless overridden by your custom class)
|
||||
- setting your template path as `template` configuration
|
||||
- giving your template path as `--template` parameter to `bump` and `changelog` commands
|
||||
|
||||
!!! Note
|
||||
The path is relative to the current working directory, aka. your project root most of the time.
|
||||
|
||||
### Template variables
|
||||
|
||||
The default template use a single `tree` variable which is a list of entries (a release) with the following format:
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| version | `str` | The release version |
|
||||
| date | `datetime` | The release date |
|
||||
| changes | `list[tuple[str, list[Change]]]` | The release sorted changes list in the form `(type, changes)` |
|
||||
|
||||
Each `Change` has the following fields:
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| scope | `str | None` | An optional scope |
|
||||
| message | `str` | The commit message body |
|
||||
| sha1 | `str` | The commit `sha1` |
|
||||
| parents | `list[str]` | The parent commit(s) `sha1`(s) |
|
||||
| author | `str` | The commit author name |
|
||||
| author_email | `str` | The commit author email |
|
||||
|
||||
!!! Note
|
||||
The field values depend on the customization class and/or the settings you provide
|
||||
|
||||
The `parents` field can be used to identify merge commits and generate a changelog based on those. Another use case
|
||||
is listing commits that belong to the same pull request.
|
||||
|
||||
When using another template (either provided by a plugin or by yourself), you can also pass extra template variables
|
||||
by:
|
||||
|
||||
- defining them in your configuration with the [`extras` settings][extras-config]
|
||||
- providing them on the commandline with the `--extra/-e` parameter to `bump` and `changelog` commands
|
||||
|
||||
[template-config]: config.md#template
|
||||
[extras-config]: config.md#extras
|
39
docs/exit_codes.md
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Exit Codes
|
||||
|
||||
Commitizen handles expected exceptions through `CommitizenException` and returns different exit codes for different situations. They could be useful if you want to ignore specific errors in your pipeline.
|
||||
|
||||
These exit codes can be found in `commitizen/exceptions.py::ExitCode`.
|
||||
|
||||
| Exception | Exit Code | Description |
|
||||
| --------------------------- | --------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| ExpectedExit | 0 | Expected exit |
|
||||
| DryRunExit | 0 | Exit due to passing `--dry-run` option |
|
||||
| NoCommitizenFoundException | 1 | Using a cz (e.g., `cz_jira`) that cannot be found in your system |
|
||||
| NotAGitProjectError | 2 | Not in a git project |
|
||||
| NoCommitsFoundError | 3 | No commit found |
|
||||
| NoVersionSpecifiedError | 4 | Version can not be found in configuration file |
|
||||
| NoPatternMapError | 5 | bump / changelog pattern or map can not be found in configuration file |
|
||||
| BumpCommitFailedError | 6 | Commit error when bumping version |
|
||||
| BumpTagFailedError | 7 | Tag error when bumping version |
|
||||
| NoAnswersError | 8 | No user response given |
|
||||
| CommitError | 9 | git commit error |
|
||||
| NoCommitBackupError | 10 | Commit back up file cannot be found |
|
||||
| NothingToCommitError | 11 | Nothing in staging to be committed |
|
||||
| CustomError | 12 | `CzException` raised |
|
||||
| NoCommandFoundError | 13 | No command found when running commitizen cli (e.g., `cz --debug`) |
|
||||
| InvalidCommitMessageError | 14 | The commit message does not pass `cz check` |
|
||||
| MissingConfigError | 15 | Configuration missed for `cz_customize` |
|
||||
| NoRevisionError | 16 | No revision found |
|
||||
| CurrentVersionNotFoundError | 17 | current version cannot be found in _version_files_ |
|
||||
| InvalidCommandArgumentError | 18 | The argument provide to command is invalid (e.g. `cz check -commit-msg-file filename --rev-range master..`) |
|
||||
| InvalidConfigurationError | 19 | An error was found in the Commitizen Configuration, such as duplicates in `change_type_order` |
|
||||
| NotAllowed | 20 | `--incremental` cannot be combined with a `rev_range` |
|
||||
| NoneIncrementExit | 21 | The commits found are not eligible to be bumped |
|
||||
| CharacterSetDecodeError | 22 | The character encoding of the command output could not be determined |
|
||||
| GitCommandError | 23 | Unexpected failure while calling a git command |
|
||||
| InvalidManualVersion | 24 | Manually provided version is invalid |
|
||||
| InitFailedError | 25 | Failed to initialize pre-commit |
|
||||
| RunHookError | 26 | An error occurred during a hook execution |
|
||||
| VersionProviderUnknown | 27 | `version_provider` setting is set to an unknown version provider identifier |
|
||||
| VersionSchemeUnknown | 28 | `version_scheme` setting is set to an unknown version scheme identifier |
|
||||
| ChangelogFormatUnknown | 29 | `changelog_format` setting is set to an unknown version scheme identifier or could not be guessed |
|
18
docs/external_links.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
> If you have written over commitizen, make a PR and add the link here 💪
|
||||
|
||||
## Talks
|
||||
|
||||
| Name | Speaker | Occasion | Language | Extra |
|
||||
| ------------------------------------------------------------------------- | --------------- | ---------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| commitizen-tools: What can we gain from crafting a git message convention | Wei Lee | Taipey.py 2020 June Meetup, Remote Python Pizza 2020 | English | [slides](https://speakerdeck.com/leew/commitizen-tools-what-can-we-gain-from-crafting-a-git-message-convention-at-taipey-dot-py) |
|
||||
| Automating release cycles | Santiago Fraire | PyAmsterdam June 24, 2020, Online | English | [slides](https://woile.github.io/commitizen-presentation/) |
|
||||
| [Automatizando Releases con Commitizen y Github Actions][automatizando] | Santiago Fraire | PyConAr 2020, Remote | Español | [slides](https://woile.github.io/automating-releases-github-actions-presentation/#/) |
|
||||
|
||||
## Articles
|
||||
|
||||
- [Python Table Manners - Commitizen: 規格化 commit message](https://lee-w.github.io/posts/tech/2020/03/python-table-manners-commitizen/) (Written in Traditional Mandarin)
|
||||
- [Automating semantic release with commitizen](https://woile.dev/posts/automating-semver-releases-with-commitizen/) (English)
|
||||
- [How to Write Better Git Commit Messages – A Step-By-Step Guide](https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/?utm_source=tldrnewsletter) (English)
|
||||
- [Continuous delivery made easy (in Python)](https://medium.com/dev-genius/continuous-delivery-made-easy-in-python-c085e9c82e69)
|
||||
|
||||
[automatizando]: https://youtu.be/t3aE2M8UPBo
|
142
docs/faq.md
Normal file
|
@ -0,0 +1,142 @@
|
|||
## Support for PEP621
|
||||
|
||||
PEP621 establishes a `[project]` definition inside `pyproject.toml`
|
||||
|
||||
```toml
|
||||
[project]
|
||||
name = "spam"
|
||||
version = "2.5.1"
|
||||
```
|
||||
|
||||
Commitizen provides a [`pep621` version provider](config.md#version-providers) to get and set version from this field.
|
||||
You just need to set the proper `version_provider` setting:
|
||||
|
||||
```toml
|
||||
[project]
|
||||
name = "spam"
|
||||
version = "2.5.1"
|
||||
|
||||
[tool.commitizen]
|
||||
version_provider = "pep621"
|
||||
```
|
||||
|
||||
## Why are `revert` and `chore` valid types in the check pattern of cz conventional_commits but not types we can select?
|
||||
|
||||
`revert` and `chore` are added to the "pattern" in `cz check` in order to prevent backward errors, but officially they are not part of conventional commits, we are using the latest [types from Angular](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type) (they used to but were removed).
|
||||
However, you can create a customized `cz` with those extra types. (See [Customization](customization.md)).
|
||||
|
||||
See more discussion in issue [#142](https://github.com/commitizen-tools/commitizen/issues/142) and [#36](https://github.com/commitizen-tools/commitizen/issues/36)
|
||||
|
||||
## How to revert a bump?
|
||||
|
||||
If for any reason, the created tag and changelog were to be undone, this is the snippet:
|
||||
|
||||
```sh
|
||||
git tag --delete <created_tag>
|
||||
git reset HEAD~
|
||||
git reset --hard HEAD
|
||||
```
|
||||
|
||||
This will remove the last tag created, plus the commit containing the update to `.cz.toml` and the changelog generated for the version.
|
||||
|
||||
In case the commit was pushed to the server you can remove it by running
|
||||
|
||||
```sh
|
||||
git push --delete origin <created_tag>
|
||||
```
|
||||
|
||||
## Is this project affiliated with the Commitizen JS project?
|
||||
|
||||
It is not affiliated.
|
||||
|
||||
Both are used for similar purposes, parsing commits, generating changelog and version we presume.
|
||||
This one is written in python to make integration easier for python projects and the other serves the JS packages.
|
||||
|
||||
They differ a bit in design, not sure if cz-js does any of this, but these are some of the stuff you can do with this repo (python's commitizen):
|
||||
|
||||
- create custom rules, version bumps and changelog generation, by default we use the popular conventional commits (I think cz-js allows this).
|
||||
- single package, install one thing and it will work (cz-js is a monorepo, but you have to install different dependencies AFAIK)
|
||||
- pre-commit integration
|
||||
- works on any language project, as long as you create the `.cz.toml` or `cz.toml` file.
|
||||
|
||||
Where do they cross paths?
|
||||
|
||||
If you are using conventional commits in your git history, then you could swap one with the other in theory.
|
||||
|
||||
Regarding the name, [cz-js][cz-js] came first, they used the word commitizen first. When this project was created originally, the creator read "be a good commitizen", and thought it was just a cool word that made sense, and this would be a package that helps you be a good "commit citizen".
|
||||
|
||||
[cz-js]: https://github.com/commitizen/cz-cli
|
||||
|
||||
## How to handle revert commits?
|
||||
|
||||
```sh
|
||||
git revert --no-commit <SHA>
|
||||
git commit -m "revert: foo bar"
|
||||
```
|
||||
|
||||
## I got `Exception [WinError 995] The I/O operation ...` error
|
||||
|
||||
This error was caused by a Python bug on Windows. It's been fixed by [this PR](https://github.com/python/cpython/pull/22017), and according to Python's changelog, [3.8.6rc1](https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-6-release-candidate-1) and [3.9.0rc2](https://docs.python.org/3.9/whatsnew/changelog.html#python-3-9-0-release-candidate-2) should be the accurate versions first contain this fix. In conclusion, upgrade your Python version might solve this issue.
|
||||
|
||||
More discussion can be found in issue [#318](https://github.com/commitizen-tools/commitizen/issues/318).
|
||||
|
||||
## Why does commitizen not support CalVer?
|
||||
|
||||
`commitizen` could support CalVer alongside SemVer, but in practice implementing CalVer
|
||||
creates numerous edge cases that are difficult to maintain ([#385]) and more generally
|
||||
mixing the two version schemes may not be a good idea. If CalVer or other custom
|
||||
versioning scheme is needed, `commitizen` could still be used to standardize commits
|
||||
and create changelogs, but a separate package should be used for version increments.
|
||||
|
||||
Mixing CalVer and SemVer is generally not recommended because each versioning scheme
|
||||
serves a different purposes. Diverging from either specification can be confusing to
|
||||
users and cause errors with third party tools that don't expect the non-standard format.
|
||||
|
||||
In the future, `commitizen` may support some implementation of CalVer, but at the time
|
||||
of writing, there are no plans to implement the feature ([#173]).
|
||||
|
||||
If you would like to learn more about both schemes, there are plenty of good resources:
|
||||
|
||||
- [Announcing CalVer](https://sedimental.org/calver.html)
|
||||
- [API Versioning from Stripe](https://stripe.com/blog/api-versioning)
|
||||
- [Discussion about pip's use of CalVer](https://github.com/pypa/pip/issues/5645#issuecomment-407192448)
|
||||
- [Git Version Numbering](https://code.erpenbeck.io/git/2021/12/16/git-version-numbering/)
|
||||
- [SemVer vs. CalVer and Why I Use Both](https://mikestaszel.com/2021/04/03/semver-vs-calver-and-why-i-use-both/) (but not at the same time)
|
||||
- [Semver Will Not Save You](https://hynek.me/articles/semver-will-not-save-you/)
|
||||
- [Why I Don't Like SemVer](https://snarky.ca/why-i-dont-like-semver/)
|
||||
|
||||
[#173]: https://github.com/commitizen-tools/commitizen/issues/173
|
||||
[#385]: https://github.com/commitizen-tools/commitizen/pull/385
|
||||
|
||||
## How to change the tag format ?
|
||||
|
||||
You can use the [`legacy_tag_formats`](config.md#legacy_tag_formats) to list old tag formats.
|
||||
New bumped tags will be in the new format but old ones will still work for:
|
||||
- changelog generation (full, incremental and version range)
|
||||
- bump new version computation (automatically guessed or increment given)
|
||||
|
||||
|
||||
So given if you change from `myproject-$version` to `${version}` and then `v${version}`,
|
||||
your commitizen configuration will look like this:
|
||||
|
||||
```toml
|
||||
tag_format = "v${version}"
|
||||
legacy_tag_formats = [
|
||||
"${version}",
|
||||
"myproject-$version",
|
||||
]
|
||||
```
|
||||
|
||||
## How to avoid warnings for expected non-version tags
|
||||
|
||||
You can explicitly ignore them with [`ignored_tag_formats`](config.md#ignored_tag_formats).
|
||||
|
||||
```toml
|
||||
tag_format = "v${version}"
|
||||
ignored_tag_formats = [
|
||||
"stable",
|
||||
"component-*",
|
||||
"env/*",
|
||||
"v${major}.${minor}",
|
||||
]
|
||||
```
|
119
docs/getting_started.md
Normal file
|
@ -0,0 +1,119 @@
|
|||
## Initialize commitizen
|
||||
|
||||
If it's your first time, you'll need to create a commitizen configuration file.
|
||||
|
||||
The assistant utility will help you set up everything
|
||||
|
||||
```sh
|
||||
cz init
|
||||
```
|
||||
|
||||
Alternatively, create a file `.cz.toml` or `cz.toml` in your project's directory.
|
||||
|
||||
```toml
|
||||
[tool.commitizen]
|
||||
version = "0.1.0"
|
||||
update_changelog_on_bump = true
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Bump version
|
||||
|
||||
```sh
|
||||
cz bump
|
||||
```
|
||||
|
||||
This command will bump your project's version, and it will create a tag.
|
||||
|
||||
Because of the setting `update_changelog_on_bump`, bump will also create the **changelog**.
|
||||
You can also [update files](./commands/bump.md#version_files).
|
||||
You can configure the [version scheme](./commands/bump.md#version_scheme) and [version provider](./config.md#version-providers).
|
||||
|
||||
There are many more options available, please read the docs for the [bump command](./commands/bump.md).
|
||||
|
||||
### Committing
|
||||
|
||||
Run in your terminal
|
||||
|
||||
```bash
|
||||
cz commit
|
||||
```
|
||||
|
||||
or the shortcut
|
||||
|
||||
```bash
|
||||
cz c
|
||||
```
|
||||
|
||||
#### Sign off the commit
|
||||
|
||||
Run in the terminal
|
||||
|
||||
```bash
|
||||
cz commit -- --signoff
|
||||
```
|
||||
|
||||
or the shortcut
|
||||
|
||||
```bash
|
||||
cz commit -- -s
|
||||
```
|
||||
|
||||
### Get project version
|
||||
|
||||
Running `cz version` will return the version of commitizen, but if you want
|
||||
your project's version you can run:
|
||||
|
||||
```sh
|
||||
cz version -p
|
||||
```
|
||||
|
||||
This can be useful in many situations, where otherwise, you would require a way
|
||||
to parse the version of your project. Maybe it's simple if you use a `VERSION` file,
|
||||
but once you start working with many different projects, it becomes tricky.
|
||||
|
||||
A common example is, when you need to send to slack, the changes for the version that you
|
||||
just created:
|
||||
|
||||
```sh
|
||||
cz changelog --dry-run "$(cz version -p)"
|
||||
```
|
||||
|
||||
### Integration with Pre-commit
|
||||
|
||||
Commitizen can lint your commit message for you with `cz check`.
|
||||
|
||||
You can integrate this in your [pre-commit](https://pre-commit.com/) config with:
|
||||
|
||||
```yaml
|
||||
---
|
||||
repos:
|
||||
- repo: https://github.com/commitizen-tools/commitizen
|
||||
rev: master
|
||||
hooks:
|
||||
- id: commitizen
|
||||
- id: commitizen-branch
|
||||
stages: [pre-push]
|
||||
```
|
||||
|
||||
After the configuration is added, you'll need to run:
|
||||
|
||||
```sh
|
||||
pre-commit install --hook-type commit-msg --hook-type pre-push
|
||||
```
|
||||
|
||||
If you aren't using both hooks, you needn't install both stages.
|
||||
|
||||
| Hook | Recommended Stage |
|
||||
| ----------------- | ----------------- |
|
||||
| commitizen | commit-msg |
|
||||
| commitizen-branch | pre-push |
|
||||
|
||||
Note that pre-commit discourages using `master` as a revision, and the above command will print a warning. You should replace the `master` revision with the [latest tag](https://github.com/commitizen-tools/commitizen/tags). This can be done automatically with:
|
||||
|
||||
```sh
|
||||
pre-commit autoupdate
|
||||
```
|
||||
|
||||
Read more about the `check` command [here](commands/check.md).
|
195
docs/images/bump.yml
Normal file
|
@ -0,0 +1,195 @@
|
|||
# The configurations that used for the recording, feel free to edit them
|
||||
config:
|
||||
|
||||
# Specify a command to be executed
|
||||
# like `/bin/bash -l`, `ls`, or any other commands
|
||||
# the default is bash for Linux
|
||||
# or powershell.exe for Windows
|
||||
command: bash -l
|
||||
|
||||
# Specify the current working directory path
|
||||
# the default is the current working directory path
|
||||
cwd: ~/my-project
|
||||
|
||||
# Export additional ENV variables
|
||||
env:
|
||||
recording: true
|
||||
|
||||
# Explicitly set the number of columns
|
||||
# or use `auto` to take the current
|
||||
# number of columns of your shell
|
||||
cols: 80
|
||||
|
||||
# Explicitly set the number of rows
|
||||
# or use `auto` to take the current
|
||||
# number of rows of your shell
|
||||
rows: 20
|
||||
|
||||
# Amount of times to repeat GIF
|
||||
# If value is -1, play once
|
||||
# If value is 0, loop indefinitely
|
||||
# If value is a positive number, loop n times
|
||||
repeat: 0
|
||||
|
||||
# Quality
|
||||
# 1 - 100
|
||||
quality: 85
|
||||
|
||||
# Delay between frames in ms
|
||||
# If the value is `auto` use the actual recording delays
|
||||
frameDelay: auto
|
||||
|
||||
# Maximum delay between frames in ms
|
||||
# Ignored if the `frameDelay` isn't set to `auto`
|
||||
# Set to `auto` to prevent limiting the max idle time
|
||||
maxIdleTime: 2000
|
||||
|
||||
# The surrounding frame box
|
||||
# The `type` can be null, window, floating, or solid`
|
||||
# To hide the title use the value null
|
||||
# Don't forget to add a backgroundColor style with a null as type
|
||||
frameBox:
|
||||
type: floating
|
||||
title: "Commitizen: bump"
|
||||
style:
|
||||
border: 0px black solid
|
||||
# boxShadow: none
|
||||
# margin: 0px
|
||||
|
||||
# Add a watermark image to the rendered gif
|
||||
# You need to specify an absolute path for
|
||||
# the image on your machine or a URL, and you can also
|
||||
# add your own CSS styles
|
||||
watermark:
|
||||
imagePath: null
|
||||
style:
|
||||
position: absolute
|
||||
right: 15px
|
||||
bottom: 15px
|
||||
width: 100px
|
||||
opacity: 0.9
|
||||
|
||||
# Cursor style can be one of
|
||||
# `block`, `underline`, or `bar`
|
||||
cursorStyle: block
|
||||
|
||||
# Font family
|
||||
# You can use any font that is installed on your machine
|
||||
# in CSS-like syntax
|
||||
fontFamily: "Monaco, Lucida Console, Ubuntu Mono, Monospace"
|
||||
|
||||
# The size of the font
|
||||
fontSize: 16
|
||||
|
||||
# The height of lines
|
||||
lineHeight: 1
|
||||
|
||||
# The spacing between letters
|
||||
letterSpacing: 0
|
||||
|
||||
# Theme
|
||||
theme:
|
||||
background: "transparent"
|
||||
foreground: "#afafaf"
|
||||
cursor: "#c7c7c7"
|
||||
black: "#232628"
|
||||
red: "#fc4384"
|
||||
green: "#b3e33b"
|
||||
yellow: "#ffa727"
|
||||
blue: "#75dff2"
|
||||
magenta: "#ae89fe"
|
||||
cyan: "#708387"
|
||||
white: "#d5d5d0"
|
||||
brightBlack: "#626566"
|
||||
brightRed: "#ff7fac"
|
||||
brightGreen: "#c8ed71"
|
||||
brightYellow: "#ebdf86"
|
||||
brightBlue: "#75dff2"
|
||||
brightMagenta: "#ae89fe"
|
||||
brightCyan: "#b1c6ca"
|
||||
brightWhite: "#f9f9f4"
|
||||
|
||||
# Records, feel free to edit them
|
||||
records:
|
||||
- delay: 2295
|
||||
content: "\e[1;33m\e[0;32m\e[1;34m\e[1;32msantiago\e[1;34m@\e[1;31mhome\e[1;37m in \e[1;34m~/my-project\e[0;36m |master=|\e[1;32m $\r\r\n\e[1;32m$\e[00m "
|
||||
- delay: 662
|
||||
content: c
|
||||
- delay: 70
|
||||
content: z
|
||||
- delay: 111
|
||||
content: ' '
|
||||
- delay: 253
|
||||
content: '-'
|
||||
- delay: 112
|
||||
content: '-'
|
||||
- delay: 112
|
||||
content: v
|
||||
- delay: 122
|
||||
content: e
|
||||
- delay: 280
|
||||
content: r
|
||||
- delay: 202
|
||||
content: s
|
||||
- delay: 106
|
||||
content: i
|
||||
- delay: 55
|
||||
content: o
|
||||
- delay: 298
|
||||
content: 'n'
|
||||
- delay: 273
|
||||
content: "\r\n"
|
||||
- delay: 1121
|
||||
content: "1.1.0\r\n\e[0m"
|
||||
- delay: 161
|
||||
content: "\e[1;33m\e[0;32m\e[1;34m\e[1;32msantiago\e[1;34m@\e[1;31mhome\e[1;37m in \e[1;34m~/my-project\e[0;36m |master=|\e[1;32m $\r\r\n\e[1;32m$\e[00m "
|
||||
- delay: 667
|
||||
content: c
|
||||
- delay: 95
|
||||
content: z
|
||||
- delay: 147
|
||||
content: ' '
|
||||
- delay: 150
|
||||
content: b
|
||||
- delay: 114
|
||||
content: u
|
||||
- delay: 180
|
||||
content: m
|
||||
- delay: 132
|
||||
content: p
|
||||
- delay: 239
|
||||
content: "\r\n"
|
||||
- delay: 1176
|
||||
content: "bump: version 1.1.0 → 1.1.1\r\ntag to create: v1.1.1\r\nincrement detected: PATCH\r\n"
|
||||
- delay: 75
|
||||
content: "\e[32mDone!\e[0m\r\n\e[0m"
|
||||
- delay: 183
|
||||
content: "\e[1;33m\e[0;32m\e[1;34m\e[1;32msantiago\e[1;34m@\e[1;31mhome\e[1;37m in \e[1;34m~/my-project\e[0;36m |master>|\e[1;32m $\r\r\n\e[1;32m$\e[00m "
|
||||
- delay: 1500
|
||||
content: c
|
||||
- delay: 70
|
||||
content: z
|
||||
- delay: 44
|
||||
content: ' '
|
||||
- delay: 161
|
||||
content: '-'
|
||||
- delay: 119
|
||||
content: '-'
|
||||
- delay: 87
|
||||
content: v
|
||||
- delay: 133
|
||||
content: e
|
||||
- delay: 92
|
||||
content: r
|
||||
- delay: 89
|
||||
content: s
|
||||
- delay: 87
|
||||
content: i
|
||||
- delay: 45
|
||||
content: o
|
||||
- delay: 200
|
||||
content: 'n'
|
||||
- delay: 199
|
||||
content: "\r\n"
|
||||
- delay: 1120
|
||||
content: "1.1.1\r\n\e[0m"
|
202
docs/images/cli_help/cz___help.svg
Normal file
|
@ -0,0 +1,202 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 928.4" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-2205183093-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-2205183093-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-2205183093-r1 { fill: #c5c8c6 }
|
||||
.terminal-2205183093-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-2205183093-r3 { fill: #d0b344 }
|
||||
.terminal-2205183093-r4 { fill: #1984e9;text-decoration: underline; }
|
||||
.terminal-2205183093-r5 { fill: #68a0b3;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-2205183093-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-7">
|
||||
<rect x="0" y="172.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-8">
|
||||
<rect x="0" y="196.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-9">
|
||||
<rect x="0" y="221.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-10">
|
||||
<rect x="0" y="245.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-11">
|
||||
<rect x="0" y="269.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-12">
|
||||
<rect x="0" y="294.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-13">
|
||||
<rect x="0" y="318.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-14">
|
||||
<rect x="0" y="343.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-15">
|
||||
<rect x="0" y="367.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-16">
|
||||
<rect x="0" y="391.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-17">
|
||||
<rect x="0" y="416.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-18">
|
||||
<rect x="0" y="440.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-19">
|
||||
<rect x="0" y="465.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-20">
|
||||
<rect x="0" y="489.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-21">
|
||||
<rect x="0" y="513.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-22">
|
||||
<rect x="0" y="538.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-23">
|
||||
<rect x="0" y="562.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-24">
|
||||
<rect x="0" y="587.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-25">
|
||||
<rect x="0" y="611.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-26">
|
||||
<rect x="0" y="635.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-27">
|
||||
<rect x="0" y="660.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-28">
|
||||
<rect x="0" y="684.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-29">
|
||||
<rect x="0" y="709.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-30">
|
||||
<rect x="0" y="733.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-31">
|
||||
<rect x="0" y="757.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-32">
|
||||
<rect x="0" y="782.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-33">
|
||||
<rect x="0" y="806.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2205183093-line-34">
|
||||
<rect x="0" y="831.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="926.4" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-2205183093-clip-terminal)">
|
||||
|
||||
<g class="terminal-2205183093-matrix">
|
||||
<text class="terminal-2205183093-r1" x="0" y="20" textLength="134.2" clip-path="url(#terminal-2205183093-line-0)">$ cz --help</text><text class="terminal-2205183093-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-2205183093-line-0)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="44.4" textLength="122" clip-path="url(#terminal-2205183093-line-1)">usage: cz </text><text class="terminal-2205183093-r2" x="122" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">[</text><text class="terminal-2205183093-r1" x="134.2" y="44.4" textLength="24.4" clip-path="url(#terminal-2205183093-line-1)">-h</text><text class="terminal-2205183093-r2" x="158.6" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">]</text><text class="terminal-2205183093-r2" x="183" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">[</text><text class="terminal-2205183093-r1" x="195.2" y="44.4" textLength="183" clip-path="url(#terminal-2205183093-line-1)">--config CONFIG</text><text class="terminal-2205183093-r2" x="378.2" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">]</text><text class="terminal-2205183093-r2" x="402.6" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">[</text><text class="terminal-2205183093-r1" x="414.8" y="44.4" textLength="85.4" clip-path="url(#terminal-2205183093-line-1)">--debug</text><text class="terminal-2205183093-r2" x="500.2" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">]</text><text class="terminal-2205183093-r2" x="524.6" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">[</text><text class="terminal-2205183093-r1" x="536.8" y="44.4" textLength="85.4" clip-path="url(#terminal-2205183093-line-1)">-n NAME</text><text class="terminal-2205183093-r2" x="622.2" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">]</text><text class="terminal-2205183093-r2" x="646.6" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">[</text><text class="terminal-2205183093-r1" x="658.8" y="44.4" textLength="146.4" clip-path="url(#terminal-2205183093-line-1)">-nr NO_RAISE</text><text class="terminal-2205183093-r2" x="805.2" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">]</text><text class="terminal-2205183093-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-1)">
|
||||
</text><text class="terminal-2205183093-r2" x="122" y="68.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-2)">{</text><text class="terminal-2205183093-r1" x="134.2" y="68.8" textLength="829.6" clip-path="url(#terminal-2205183093-line-2)">init,commit,c,ls,example,info,schema,bump,changelog,ch,check,version</text><text class="terminal-2205183093-r2" x="963.8" y="68.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-2)">}</text><text class="terminal-2205183093-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-2)">
|
||||
</text><text class="terminal-2205183093-r3" x="0" y="93.2" textLength="36.6" clip-path="url(#terminal-2205183093-line-3)">...</text><text class="terminal-2205183093-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-3)">
|
||||
</text><text class="terminal-2205183093-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-4)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="142" textLength="707.6" clip-path="url(#terminal-2205183093-line-5)">Commitizen is a cli tool to generate conventional commits.</text><text class="terminal-2205183093-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-2205183093-line-5)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="166.4" textLength="524.6" clip-path="url(#terminal-2205183093-line-6)">For more information about the topic go to </text><text class="terminal-2205183093-r4" x="524.6" y="166.4" textLength="390.4" clip-path="url(#terminal-2205183093-line-6)">https://conventionalcommits.org/</text><text class="terminal-2205183093-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-6)">
|
||||
</text><text class="terminal-2205183093-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-7)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="215.2" textLength="97.6" clip-path="url(#terminal-2205183093-line-8)">options:</text><text class="terminal-2205183093-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-8)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="239.6" textLength="671" clip-path="url(#terminal-2205183093-line-9)">  -h, --help            show this help message and exit</text><text class="terminal-2205183093-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-9)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="264" textLength="658.8" clip-path="url(#terminal-2205183093-line-10)">  --config CONFIG       the path of configuration file</text><text class="terminal-2205183093-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-2205183093-line-10)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="288.4" textLength="463.6" clip-path="url(#terminal-2205183093-line-11)">  --debug               use debug mode</text><text class="terminal-2205183093-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-11)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="312.8" textLength="597.8" clip-path="url(#terminal-2205183093-line-12)">  -n, --name NAME       use the given commitizen </text><text class="terminal-2205183093-r2" x="597.8" y="312.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-12)">(</text><text class="terminal-2205183093-r1" x="610" y="312.8" textLength="97.6" clip-path="url(#terminal-2205183093-line-12)">default:</text><text class="terminal-2205183093-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-12)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="337.2" textLength="573.4" clip-path="url(#terminal-2205183093-line-13)">                        cz_conventional_commits</text><text class="terminal-2205183093-r2" x="573.4" y="337.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-13)">)</text><text class="terminal-2205183093-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-13)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="361.6" textLength="317.2" clip-path="url(#terminal-2205183093-line-14)">  -nr, --no-raise NO_RAISE</text><text class="terminal-2205183093-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-14)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="386" textLength="902.8" clip-path="url(#terminal-2205183093-line-15)">                        comma separated error codes that won't rise error,</text><text class="terminal-2205183093-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-2205183093-line-15)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="410.4" textLength="439.2" clip-path="url(#terminal-2205183093-line-16)">                        e.g: cz -nr </text><text class="terminal-2205183093-r5" x="439.2" y="410.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-16)">1</text><text class="terminal-2205183093-r1" x="451.4" y="410.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-16)">,</text><text class="terminal-2205183093-r5" x="463.6" y="410.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-16)">2</text><text class="terminal-2205183093-r1" x="475.8" y="410.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-16)">,</text><text class="terminal-2205183093-r5" x="488" y="410.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-16)">3</text><text class="terminal-2205183093-r1" x="500.2" y="410.4" textLength="231.8" clip-path="url(#terminal-2205183093-line-16)"> bump. See codes at</text><text class="terminal-2205183093-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-16)">
|
||||
</text><text class="terminal-2205183093-r4" x="292.8" y="434.8" textLength="231.8" clip-path="url(#terminal-2205183093-line-17)">https://commitizen-</text><text class="terminal-2205183093-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-17)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="459.2" textLength="756.4" clip-path="url(#terminal-2205183093-line-18)">                        tools.github.io/commitizen/exit_codes/</text><text class="terminal-2205183093-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-18)">
|
||||
</text><text class="terminal-2205183093-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-19)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="508" textLength="109.8" clip-path="url(#terminal-2205183093-line-20)">commands:</text><text class="terminal-2205183093-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-2205183093-line-20)">
|
||||
</text><text class="terminal-2205183093-r2" x="24.4" y="532.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-21)">{</text><text class="terminal-2205183093-r1" x="36.6" y="532.4" textLength="829.6" clip-path="url(#terminal-2205183093-line-21)">init,commit,c,ls,example,info,schema,bump,changelog,ch,check,version</text><text class="terminal-2205183093-r2" x="866.2" y="532.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-21)">}</text><text class="terminal-2205183093-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-21)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="556.8" textLength="646.6" clip-path="url(#terminal-2205183093-line-22)">    init                init commitizen configuration</text><text class="terminal-2205183093-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-22)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="581.2" textLength="134.2" clip-path="url(#terminal-2205183093-line-23)">    commit </text><text class="terminal-2205183093-r2" x="134.2" y="581.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-23)">(</text><text class="terminal-2205183093-r1" x="146.4" y="581.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-23)">c</text><text class="terminal-2205183093-r2" x="158.6" y="581.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-23)">)</text><text class="terminal-2205183093-r1" x="170.8" y="581.2" textLength="329.4" clip-path="url(#terminal-2205183093-line-23)">          create new commit</text><text class="terminal-2205183093-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-23)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="605.6" textLength="610" clip-path="url(#terminal-2205183093-line-24)">    ls                  show available commitizens</text><text class="terminal-2205183093-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-24)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="630" textLength="524.6" clip-path="url(#terminal-2205183093-line-25)">    example             show commit example</text><text class="terminal-2205183093-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-2205183093-line-25)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="654.4" textLength="646.6" clip-path="url(#terminal-2205183093-line-26)">    info                show information about the cz</text><text class="terminal-2205183093-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-26)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="678.8" textLength="512.4" clip-path="url(#terminal-2205183093-line-27)">    schema              show commit schema</text><text class="terminal-2205183093-r1" x="976" y="678.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-27)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="703.2" textLength="805.2" clip-path="url(#terminal-2205183093-line-28)">    bump                bump semantic version based on the git log</text><text class="terminal-2205183093-r1" x="976" y="703.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-28)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="727.6" textLength="170.8" clip-path="url(#terminal-2205183093-line-29)">    changelog </text><text class="terminal-2205183093-r2" x="170.8" y="727.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-29)">(</text><text class="terminal-2205183093-r1" x="183" y="727.6" textLength="24.4" clip-path="url(#terminal-2205183093-line-29)">ch</text><text class="terminal-2205183093-r2" x="207.4" y="727.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-29)">)</text><text class="terminal-2205183093-r1" x="219.6" y="727.6" textLength="305" clip-path="url(#terminal-2205183093-line-29)">      generate changelog </text><text class="terminal-2205183093-r2" x="524.6" y="727.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-29)">(</text><text class="terminal-2205183093-r1" x="536.8" y="727.6" textLength="329.4" clip-path="url(#terminal-2205183093-line-29)">note that it will overwrite</text><text class="terminal-2205183093-r1" x="976" y="727.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-29)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="752" textLength="451.4" clip-path="url(#terminal-2205183093-line-30)">                        existing file</text><text class="terminal-2205183093-r2" x="451.4" y="752" textLength="12.2" clip-path="url(#terminal-2205183093-line-30)">)</text><text class="terminal-2205183093-r1" x="976" y="752" textLength="12.2" clip-path="url(#terminal-2205183093-line-30)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="776.4" textLength="951.6" clip-path="url(#terminal-2205183093-line-31)">    check               validates that a commit message matches the commitizen</text><text class="terminal-2205183093-r1" x="976" y="776.4" textLength="12.2" clip-path="url(#terminal-2205183093-line-31)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="800.8" textLength="366" clip-path="url(#terminal-2205183093-line-32)">                        schema</text><text class="terminal-2205183093-r1" x="976" y="800.8" textLength="12.2" clip-path="url(#terminal-2205183093-line-32)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="825.2" textLength="902.8" clip-path="url(#terminal-2205183093-line-33)">    version             get the version of the installed commitizen or the</text><text class="terminal-2205183093-r1" x="976" y="825.2" textLength="12.2" clip-path="url(#terminal-2205183093-line-33)">
|
||||
</text><text class="terminal-2205183093-r1" x="0" y="849.6" textLength="488" clip-path="url(#terminal-2205183093-line-34)">                        current project </text><text class="terminal-2205183093-r2" x="488" y="849.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-34)">(</text><text class="terminal-2205183093-r1" x="500.2" y="849.6" textLength="353.8" clip-path="url(#terminal-2205183093-line-34)">default: installed commitizen</text><text class="terminal-2205183093-r2" x="854" y="849.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-34)">)</text><text class="terminal-2205183093-r1" x="976" y="849.6" textLength="12.2" clip-path="url(#terminal-2205183093-line-34)">
|
||||
</text><text class="terminal-2205183093-r1" x="976" y="874" textLength="12.2" clip-path="url(#terminal-2205183093-line-35)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 24 KiB |
389
docs/images/cli_help/cz_bump___help.svg
Normal file
|
@ -0,0 +1,389 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 2075.2" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-243650528-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-243650528-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-243650528-r1 { fill: #c5c8c6 }
|
||||
.terminal-243650528-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-243650528-r3 { fill: #68a0b3;font-weight: bold }
|
||||
.terminal-243650528-r4 { fill: #98a84b }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-243650528-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="2024.1999999999998" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-7">
|
||||
<rect x="0" y="172.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-8">
|
||||
<rect x="0" y="196.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-9">
|
||||
<rect x="0" y="221.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-10">
|
||||
<rect x="0" y="245.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-11">
|
||||
<rect x="0" y="269.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-12">
|
||||
<rect x="0" y="294.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-13">
|
||||
<rect x="0" y="318.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-14">
|
||||
<rect x="0" y="343.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-15">
|
||||
<rect x="0" y="367.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-16">
|
||||
<rect x="0" y="391.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-17">
|
||||
<rect x="0" y="416.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-18">
|
||||
<rect x="0" y="440.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-19">
|
||||
<rect x="0" y="465.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-20">
|
||||
<rect x="0" y="489.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-21">
|
||||
<rect x="0" y="513.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-22">
|
||||
<rect x="0" y="538.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-23">
|
||||
<rect x="0" y="562.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-24">
|
||||
<rect x="0" y="587.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-25">
|
||||
<rect x="0" y="611.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-26">
|
||||
<rect x="0" y="635.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-27">
|
||||
<rect x="0" y="660.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-28">
|
||||
<rect x="0" y="684.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-29">
|
||||
<rect x="0" y="709.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-30">
|
||||
<rect x="0" y="733.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-31">
|
||||
<rect x="0" y="757.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-32">
|
||||
<rect x="0" y="782.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-33">
|
||||
<rect x="0" y="806.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-34">
|
||||
<rect x="0" y="831.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-35">
|
||||
<rect x="0" y="855.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-36">
|
||||
<rect x="0" y="879.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-37">
|
||||
<rect x="0" y="904.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-38">
|
||||
<rect x="0" y="928.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-39">
|
||||
<rect x="0" y="953.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-40">
|
||||
<rect x="0" y="977.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-41">
|
||||
<rect x="0" y="1001.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-42">
|
||||
<rect x="0" y="1026.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-43">
|
||||
<rect x="0" y="1050.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-44">
|
||||
<rect x="0" y="1075.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-45">
|
||||
<rect x="0" y="1099.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-46">
|
||||
<rect x="0" y="1123.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-47">
|
||||
<rect x="0" y="1148.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-48">
|
||||
<rect x="0" y="1172.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-49">
|
||||
<rect x="0" y="1197.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-50">
|
||||
<rect x="0" y="1221.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-51">
|
||||
<rect x="0" y="1245.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-52">
|
||||
<rect x="0" y="1270.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-53">
|
||||
<rect x="0" y="1294.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-54">
|
||||
<rect x="0" y="1319.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-55">
|
||||
<rect x="0" y="1343.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-56">
|
||||
<rect x="0" y="1367.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-57">
|
||||
<rect x="0" y="1392.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-58">
|
||||
<rect x="0" y="1416.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-59">
|
||||
<rect x="0" y="1441.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-60">
|
||||
<rect x="0" y="1465.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-61">
|
||||
<rect x="0" y="1489.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-62">
|
||||
<rect x="0" y="1514.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-63">
|
||||
<rect x="0" y="1538.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-64">
|
||||
<rect x="0" y="1563.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-65">
|
||||
<rect x="0" y="1587.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-66">
|
||||
<rect x="0" y="1611.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-67">
|
||||
<rect x="0" y="1636.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-68">
|
||||
<rect x="0" y="1660.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-69">
|
||||
<rect x="0" y="1685.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-70">
|
||||
<rect x="0" y="1709.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-71">
|
||||
<rect x="0" y="1733.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-72">
|
||||
<rect x="0" y="1758.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-73">
|
||||
<rect x="0" y="1782.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-74">
|
||||
<rect x="0" y="1807.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-75">
|
||||
<rect x="0" y="1831.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-76">
|
||||
<rect x="0" y="1855.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-77">
|
||||
<rect x="0" y="1880.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-78">
|
||||
<rect x="0" y="1904.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-79">
|
||||
<rect x="0" y="1929.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-80">
|
||||
<rect x="0" y="1953.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-243650528-line-81">
|
||||
<rect x="0" y="1977.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="2073.2" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-243650528-clip-terminal)">
|
||||
|
||||
<g class="terminal-243650528-matrix">
|
||||
<text class="terminal-243650528-r1" x="0" y="20" textLength="195.2" clip-path="url(#terminal-243650528-line-0)">$ cz bump --help</text><text class="terminal-243650528-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-243650528-line-0)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="44.4" textLength="183" clip-path="url(#terminal-243650528-line-1)">usage: cz bump </text><text class="terminal-243650528-r2" x="183" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">[</text><text class="terminal-243650528-r1" x="195.2" y="44.4" textLength="24.4" clip-path="url(#terminal-243650528-line-1)">-h</text><text class="terminal-243650528-r2" x="219.6" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">]</text><text class="terminal-243650528-r2" x="244" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">[</text><text class="terminal-243650528-r1" x="256.2" y="44.4" textLength="109.8" clip-path="url(#terminal-243650528-line-1)">--dry-run</text><text class="terminal-243650528-r2" x="366" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">]</text><text class="terminal-243650528-r2" x="390.4" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">[</text><text class="terminal-243650528-r1" x="402.6" y="44.4" textLength="146.4" clip-path="url(#terminal-243650528-line-1)">--files-only</text><text class="terminal-243650528-r2" x="549" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">]</text><text class="terminal-243650528-r2" x="573.4" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">[</text><text class="terminal-243650528-r1" x="585.6" y="44.4" textLength="183" clip-path="url(#terminal-243650528-line-1)">--local-version</text><text class="terminal-243650528-r2" x="768.6" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">]</text><text class="terminal-243650528-r2" x="793" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">[</text><text class="terminal-243650528-r1" x="805.2" y="44.4" textLength="134.2" clip-path="url(#terminal-243650528-line-1)">--changelog</text><text class="terminal-243650528-r2" x="939.4" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">]</text><text class="terminal-243650528-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-243650528-line-1)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="68.8" textLength="12.2" clip-path="url(#terminal-243650528-line-2)">[</text><text class="terminal-243650528-r1" x="195.2" y="68.8" textLength="134.2" clip-path="url(#terminal-243650528-line-2)">--no-verify</text><text class="terminal-243650528-r2" x="329.4" y="68.8" textLength="12.2" clip-path="url(#terminal-243650528-line-2)">]</text><text class="terminal-243650528-r2" x="353.8" y="68.8" textLength="12.2" clip-path="url(#terminal-243650528-line-2)">[</text><text class="terminal-243650528-r1" x="366" y="68.8" textLength="61" clip-path="url(#terminal-243650528-line-2)">--yes</text><text class="terminal-243650528-r2" x="427" y="68.8" textLength="12.2" clip-path="url(#terminal-243650528-line-2)">]</text><text class="terminal-243650528-r2" x="451.4" y="68.8" textLength="12.2" clip-path="url(#terminal-243650528-line-2)">[</text><text class="terminal-243650528-r1" x="463.6" y="68.8" textLength="280.6" clip-path="url(#terminal-243650528-line-2)">--tag-format TAG_FORMAT</text><text class="terminal-243650528-r2" x="744.2" y="68.8" textLength="12.2" clip-path="url(#terminal-243650528-line-2)">]</text><text class="terminal-243650528-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-243650528-line-2)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="93.2" textLength="12.2" clip-path="url(#terminal-243650528-line-3)">[</text><text class="terminal-243650528-r1" x="195.2" y="93.2" textLength="329.4" clip-path="url(#terminal-243650528-line-3)">--bump-message BUMP_MESSAGE</text><text class="terminal-243650528-r2" x="524.6" y="93.2" textLength="12.2" clip-path="url(#terminal-243650528-line-3)">]</text><text class="terminal-243650528-r2" x="549" y="93.2" textLength="12.2" clip-path="url(#terminal-243650528-line-3)">[</text><text class="terminal-243650528-r1" x="561.2" y="93.2" textLength="158.6" clip-path="url(#terminal-243650528-line-3)">--prerelease </text><text class="terminal-243650528-r2" x="719.8" y="93.2" textLength="12.2" clip-path="url(#terminal-243650528-line-3)">{</text><text class="terminal-243650528-r1" x="732" y="93.2" textLength="158.6" clip-path="url(#terminal-243650528-line-3)">alpha,beta,rc</text><text class="terminal-243650528-r2" x="890.6" y="93.2" textLength="12.2" clip-path="url(#terminal-243650528-line-3)">}</text><text class="terminal-243650528-r2" x="902.8" y="93.2" textLength="12.2" clip-path="url(#terminal-243650528-line-3)">]</text><text class="terminal-243650528-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-243650528-line-3)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="117.6" textLength="12.2" clip-path="url(#terminal-243650528-line-4)">[</text><text class="terminal-243650528-r1" x="195.2" y="117.6" textLength="280.6" clip-path="url(#terminal-243650528-line-4)">--devrelease DEVRELEASE</text><text class="terminal-243650528-r2" x="475.8" y="117.6" textLength="12.2" clip-path="url(#terminal-243650528-line-4)">]</text><text class="terminal-243650528-r2" x="500.2" y="117.6" textLength="12.2" clip-path="url(#terminal-243650528-line-4)">[</text><text class="terminal-243650528-r1" x="512.4" y="117.6" textLength="146.4" clip-path="url(#terminal-243650528-line-4)">--increment </text><text class="terminal-243650528-r2" x="658.8" y="117.6" textLength="12.2" clip-path="url(#terminal-243650528-line-4)">{</text><text class="terminal-243650528-r1" x="671" y="117.6" textLength="207.4" clip-path="url(#terminal-243650528-line-4)">MAJOR,MINOR,PATCH</text><text class="terminal-243650528-r2" x="878.4" y="117.6" textLength="12.2" clip-path="url(#terminal-243650528-line-4)">}</text><text class="terminal-243650528-r2" x="890.6" y="117.6" textLength="12.2" clip-path="url(#terminal-243650528-line-4)">]</text><text class="terminal-243650528-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-243650528-line-4)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="142" textLength="12.2" clip-path="url(#terminal-243650528-line-5)">[</text><text class="terminal-243650528-r1" x="195.2" y="142" textLength="207.4" clip-path="url(#terminal-243650528-line-5)">--increment-mode </text><text class="terminal-243650528-r2" x="402.6" y="142" textLength="12.2" clip-path="url(#terminal-243650528-line-5)">{</text><text class="terminal-243650528-r1" x="414.8" y="142" textLength="146.4" clip-path="url(#terminal-243650528-line-5)">linear,exact</text><text class="terminal-243650528-r2" x="561.2" y="142" textLength="12.2" clip-path="url(#terminal-243650528-line-5)">}</text><text class="terminal-243650528-r2" x="573.4" y="142" textLength="12.2" clip-path="url(#terminal-243650528-line-5)">]</text><text class="terminal-243650528-r2" x="597.8" y="142" textLength="12.2" clip-path="url(#terminal-243650528-line-5)">[</text><text class="terminal-243650528-r1" x="610" y="142" textLength="231.8" clip-path="url(#terminal-243650528-line-5)">--check-consistency</text><text class="terminal-243650528-r2" x="841.8" y="142" textLength="12.2" clip-path="url(#terminal-243650528-line-5)">]</text><text class="terminal-243650528-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-243650528-line-5)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="166.4" textLength="12.2" clip-path="url(#terminal-243650528-line-6)">[</text><text class="terminal-243650528-r1" x="195.2" y="166.4" textLength="183" clip-path="url(#terminal-243650528-line-6)">--annotated-tag</text><text class="terminal-243650528-r2" x="378.2" y="166.4" textLength="12.2" clip-path="url(#terminal-243650528-line-6)">]</text><text class="terminal-243650528-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-243650528-line-6)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="190.8" textLength="12.2" clip-path="url(#terminal-243650528-line-7)">[</text><text class="terminal-243650528-r1" x="195.2" y="190.8" textLength="549" clip-path="url(#terminal-243650528-line-7)">--annotated-tag-message ANNOTATED_TAG_MESSAGE</text><text class="terminal-243650528-r2" x="744.2" y="190.8" textLength="12.2" clip-path="url(#terminal-243650528-line-7)">]</text><text class="terminal-243650528-r2" x="768.6" y="190.8" textLength="12.2" clip-path="url(#terminal-243650528-line-7)">[</text><text class="terminal-243650528-r1" x="780.8" y="190.8" textLength="122" clip-path="url(#terminal-243650528-line-7)">--gpg-sign</text><text class="terminal-243650528-r2" x="902.8" y="190.8" textLength="12.2" clip-path="url(#terminal-243650528-line-7)">]</text><text class="terminal-243650528-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-243650528-line-7)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="215.2" textLength="12.2" clip-path="url(#terminal-243650528-line-8)">[</text><text class="terminal-243650528-r1" x="195.2" y="215.2" textLength="256.2" clip-path="url(#terminal-243650528-line-8)">--changelog-to-stdout</text><text class="terminal-243650528-r2" x="451.4" y="215.2" textLength="12.2" clip-path="url(#terminal-243650528-line-8)">]</text><text class="terminal-243650528-r2" x="475.8" y="215.2" textLength="12.2" clip-path="url(#terminal-243650528-line-8)">[</text><text class="terminal-243650528-r1" x="488" y="215.2" textLength="268.4" clip-path="url(#terminal-243650528-line-8)">--git-output-to-stderr</text><text class="terminal-243650528-r2" x="756.4" y="215.2" textLength="12.2" clip-path="url(#terminal-243650528-line-8)">]</text><text class="terminal-243650528-r2" x="780.8" y="215.2" textLength="12.2" clip-path="url(#terminal-243650528-line-8)">[</text><text class="terminal-243650528-r1" x="793" y="215.2" textLength="85.4" clip-path="url(#terminal-243650528-line-8)">--retry</text><text class="terminal-243650528-r2" x="878.4" y="215.2" textLength="12.2" clip-path="url(#terminal-243650528-line-8)">]</text><text class="terminal-243650528-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-243650528-line-8)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="239.6" textLength="12.2" clip-path="url(#terminal-243650528-line-9)">[</text><text class="terminal-243650528-r1" x="195.2" y="239.6" textLength="244" clip-path="url(#terminal-243650528-line-9)">--major-version-zero</text><text class="terminal-243650528-r2" x="439.2" y="239.6" textLength="12.2" clip-path="url(#terminal-243650528-line-9)">]</text><text class="terminal-243650528-r2" x="463.6" y="239.6" textLength="12.2" clip-path="url(#terminal-243650528-line-9)">[</text><text class="terminal-243650528-r1" x="475.8" y="239.6" textLength="231.8" clip-path="url(#terminal-243650528-line-9)">--template TEMPLATE</text><text class="terminal-243650528-r2" x="707.6" y="239.6" textLength="12.2" clip-path="url(#terminal-243650528-line-9)">]</text><text class="terminal-243650528-r2" x="732" y="239.6" textLength="12.2" clip-path="url(#terminal-243650528-line-9)">[</text><text class="terminal-243650528-r1" x="744.2" y="239.6" textLength="158.6" clip-path="url(#terminal-243650528-line-9)">--extra EXTRA</text><text class="terminal-243650528-r2" x="902.8" y="239.6" textLength="12.2" clip-path="url(#terminal-243650528-line-9)">]</text><text class="terminal-243650528-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-243650528-line-9)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="264" textLength="12.2" clip-path="url(#terminal-243650528-line-10)">[</text><text class="terminal-243650528-r1" x="195.2" y="264" textLength="256.2" clip-path="url(#terminal-243650528-line-10)">--file-name FILE_NAME</text><text class="terminal-243650528-r2" x="451.4" y="264" textLength="12.2" clip-path="url(#terminal-243650528-line-10)">]</text><text class="terminal-243650528-r2" x="475.8" y="264" textLength="12.2" clip-path="url(#terminal-243650528-line-10)">[</text><text class="terminal-243650528-r1" x="488" y="264" textLength="451.4" clip-path="url(#terminal-243650528-line-10)">--prerelease-offset PRERELEASE_OFFSET</text><text class="terminal-243650528-r2" x="939.4" y="264" textLength="12.2" clip-path="url(#terminal-243650528-line-10)">]</text><text class="terminal-243650528-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-243650528-line-10)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="288.4" textLength="12.2" clip-path="url(#terminal-243650528-line-11)">[</text><text class="terminal-243650528-r1" x="195.2" y="288.4" textLength="207.4" clip-path="url(#terminal-243650528-line-11)">--version-scheme </text><text class="terminal-243650528-r2" x="402.6" y="288.4" textLength="12.2" clip-path="url(#terminal-243650528-line-11)">{</text><text class="terminal-243650528-r1" x="414.8" y="288.4" textLength="256.2" clip-path="url(#terminal-243650528-line-11)">pep440,semver,semver2</text><text class="terminal-243650528-r2" x="671" y="288.4" textLength="12.2" clip-path="url(#terminal-243650528-line-11)">}</text><text class="terminal-243650528-r2" x="683.2" y="288.4" textLength="12.2" clip-path="url(#terminal-243650528-line-11)">]</text><text class="terminal-243650528-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-243650528-line-11)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="312.8" textLength="12.2" clip-path="url(#terminal-243650528-line-12)">[</text><text class="terminal-243650528-r1" x="195.2" y="312.8" textLength="183" clip-path="url(#terminal-243650528-line-12)">--version-type </text><text class="terminal-243650528-r2" x="378.2" y="312.8" textLength="12.2" clip-path="url(#terminal-243650528-line-12)">{</text><text class="terminal-243650528-r1" x="390.4" y="312.8" textLength="256.2" clip-path="url(#terminal-243650528-line-12)">pep440,semver,semver2</text><text class="terminal-243650528-r2" x="646.6" y="312.8" textLength="12.2" clip-path="url(#terminal-243650528-line-12)">}</text><text class="terminal-243650528-r2" x="658.8" y="312.8" textLength="12.2" clip-path="url(#terminal-243650528-line-12)">]</text><text class="terminal-243650528-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-243650528-line-12)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="337.2" textLength="12.2" clip-path="url(#terminal-243650528-line-13)">[</text><text class="terminal-243650528-r1" x="195.2" y="337.2" textLength="378.2" clip-path="url(#terminal-243650528-line-13)">--build-metadata BUILD_METADATA</text><text class="terminal-243650528-r2" x="573.4" y="337.2" textLength="12.2" clip-path="url(#terminal-243650528-line-13)">]</text><text class="terminal-243650528-r2" x="597.8" y="337.2" textLength="12.2" clip-path="url(#terminal-243650528-line-13)">[</text><text class="terminal-243650528-r1" x="610" y="337.2" textLength="122" clip-path="url(#terminal-243650528-line-13)">--get-next</text><text class="terminal-243650528-r2" x="732" y="337.2" textLength="12.2" clip-path="url(#terminal-243650528-line-13)">]</text><text class="terminal-243650528-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-243650528-line-13)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="361.6" textLength="12.2" clip-path="url(#terminal-243650528-line-14)">[</text><text class="terminal-243650528-r1" x="195.2" y="361.6" textLength="207.4" clip-path="url(#terminal-243650528-line-14)">--allow-no-commit</text><text class="terminal-243650528-r2" x="402.6" y="361.6" textLength="12.2" clip-path="url(#terminal-243650528-line-14)">]</text><text class="terminal-243650528-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-243650528-line-14)">
|
||||
</text><text class="terminal-243650528-r2" x="183" y="386" textLength="12.2" clip-path="url(#terminal-243650528-line-15)">[</text><text class="terminal-243650528-r1" x="195.2" y="386" textLength="170.8" clip-path="url(#terminal-243650528-line-15)">MANUAL_VERSION</text><text class="terminal-243650528-r2" x="366" y="386" textLength="12.2" clip-path="url(#terminal-243650528-line-15)">]</text><text class="terminal-243650528-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-243650528-line-15)">
|
||||
</text><text class="terminal-243650528-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-243650528-line-16)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="434.8" textLength="512.4" clip-path="url(#terminal-243650528-line-17)">bump semantic version based on the git log</text><text class="terminal-243650528-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-243650528-line-17)">
|
||||
</text><text class="terminal-243650528-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-243650528-line-18)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="483.6" textLength="256.2" clip-path="url(#terminal-243650528-line-19)">positional arguments:</text><text class="terminal-243650528-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-243650528-line-19)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="508" textLength="610" clip-path="url(#terminal-243650528-line-20)">  MANUAL_VERSION        bump to the given version </text><text class="terminal-243650528-r2" x="610" y="508" textLength="12.2" clip-path="url(#terminal-243650528-line-20)">(</text><text class="terminal-243650528-r1" x="622.2" y="508" textLength="61" clip-path="url(#terminal-243650528-line-20)">e.g: </text><text class="terminal-243650528-r3" x="683.2" y="508" textLength="36.6" clip-path="url(#terminal-243650528-line-20)">1.5</text><text class="terminal-243650528-r1" x="719.8" y="508" textLength="12.2" clip-path="url(#terminal-243650528-line-20)">.</text><text class="terminal-243650528-r3" x="732" y="508" textLength="12.2" clip-path="url(#terminal-243650528-line-20)">3</text><text class="terminal-243650528-r2" x="744.2" y="508" textLength="12.2" clip-path="url(#terminal-243650528-line-20)">)</text><text class="terminal-243650528-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-243650528-line-20)">
|
||||
</text><text class="terminal-243650528-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-243650528-line-21)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="556.8" textLength="97.6" clip-path="url(#terminal-243650528-line-22)">options:</text><text class="terminal-243650528-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-243650528-line-22)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="581.2" textLength="671" clip-path="url(#terminal-243650528-line-23)">  -h, --help            show this help message and exit</text><text class="terminal-243650528-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-243650528-line-23)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="605.6" textLength="915" clip-path="url(#terminal-243650528-line-24)">  --dry-run             show output to stdout, no commit, no modified files</text><text class="terminal-243650528-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-243650528-line-24)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="630" textLength="793" clip-path="url(#terminal-243650528-line-25)">  --files-only          bump version in the files from the config</text><text class="terminal-243650528-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-243650528-line-25)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="654.4" textLength="719.8" clip-path="url(#terminal-243650528-line-26)">  --local-version       bump only the local version portion</text><text class="terminal-243650528-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-243650528-line-26)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="678.8" textLength="841.8" clip-path="url(#terminal-243650528-line-27)">  --changelog, -ch      generate the changelog for the newest version</text><text class="terminal-243650528-r1" x="976" y="678.8" textLength="12.2" clip-path="url(#terminal-243650528-line-27)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="703.2" textLength="902.8" clip-path="url(#terminal-243650528-line-28)">  --no-verify           this option bypasses the pre-commit and commit-msg</text><text class="terminal-243650528-r1" x="976" y="703.2" textLength="12.2" clip-path="url(#terminal-243650528-line-28)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="727.6" textLength="353.8" clip-path="url(#terminal-243650528-line-29)">                        hooks</text><text class="terminal-243650528-r1" x="976" y="727.6" textLength="12.2" clip-path="url(#terminal-243650528-line-29)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="752" textLength="719.8" clip-path="url(#terminal-243650528-line-30)">  --yes                 accept automatically questions done</text><text class="terminal-243650528-r1" x="976" y="752" textLength="12.2" clip-path="url(#terminal-243650528-line-30)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="776.4" textLength="305" clip-path="url(#terminal-243650528-line-31)">  --tag-format TAG_FORMAT</text><text class="terminal-243650528-r1" x="976" y="776.4" textLength="12.2" clip-path="url(#terminal-243650528-line-31)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="800.8" textLength="939.4" clip-path="url(#terminal-243650528-line-32)">                        the format used to tag the commit and read it, use it</text><text class="terminal-243650528-r1" x="976" y="800.8" textLength="12.2" clip-path="url(#terminal-243650528-line-32)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="825.2" textLength="866.2" clip-path="url(#terminal-243650528-line-33)">                        in existing projects, wrap around simple quotes</text><text class="terminal-243650528-r1" x="976" y="825.2" textLength="12.2" clip-path="url(#terminal-243650528-line-33)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="849.6" textLength="353.8" clip-path="url(#terminal-243650528-line-34)">  --bump-message BUMP_MESSAGE</text><text class="terminal-243650528-r1" x="976" y="849.6" textLength="12.2" clip-path="url(#terminal-243650528-line-34)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="874" textLength="902.8" clip-path="url(#terminal-243650528-line-35)">                        template used to create the release commit, useful</text><text class="terminal-243650528-r1" x="976" y="874" textLength="12.2" clip-path="url(#terminal-243650528-line-35)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="898.4" textLength="536.8" clip-path="url(#terminal-243650528-line-36)">                        when working with CI</text><text class="terminal-243650528-r1" x="976" y="898.4" textLength="12.2" clip-path="url(#terminal-243650528-line-36)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="922.8" textLength="244" clip-path="url(#terminal-243650528-line-37)">  --prerelease, -pr </text><text class="terminal-243650528-r2" x="244" y="922.8" textLength="12.2" clip-path="url(#terminal-243650528-line-37)">{</text><text class="terminal-243650528-r1" x="256.2" y="922.8" textLength="158.6" clip-path="url(#terminal-243650528-line-37)">alpha,beta,rc</text><text class="terminal-243650528-r2" x="414.8" y="922.8" textLength="12.2" clip-path="url(#terminal-243650528-line-37)">}</text><text class="terminal-243650528-r1" x="976" y="922.8" textLength="12.2" clip-path="url(#terminal-243650528-line-37)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="947.2" textLength="597.8" clip-path="url(#terminal-243650528-line-38)">                        choose type of prerelease</text><text class="terminal-243650528-r1" x="976" y="947.2" textLength="12.2" clip-path="url(#terminal-243650528-line-38)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="971.6" textLength="353.8" clip-path="url(#terminal-243650528-line-39)">  --devrelease, -d DEVRELEASE</text><text class="terminal-243650528-r1" x="976" y="971.6" textLength="12.2" clip-path="url(#terminal-243650528-line-39)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="996" textLength="841.8" clip-path="url(#terminal-243650528-line-40)">                        specify non-negative integer for dev. release</text><text class="terminal-243650528-r1" x="976" y="996" textLength="12.2" clip-path="url(#terminal-243650528-line-40)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1020.4" textLength="170.8" clip-path="url(#terminal-243650528-line-41)">  --increment </text><text class="terminal-243650528-r2" x="170.8" y="1020.4" textLength="12.2" clip-path="url(#terminal-243650528-line-41)">{</text><text class="terminal-243650528-r1" x="183" y="1020.4" textLength="207.4" clip-path="url(#terminal-243650528-line-41)">MAJOR,MINOR,PATCH</text><text class="terminal-243650528-r2" x="390.4" y="1020.4" textLength="12.2" clip-path="url(#terminal-243650528-line-41)">}</text><text class="terminal-243650528-r1" x="976" y="1020.4" textLength="12.2" clip-path="url(#terminal-243650528-line-41)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1044.8" textLength="756.4" clip-path="url(#terminal-243650528-line-42)">                        manually specify the desired increment</text><text class="terminal-243650528-r1" x="976" y="1044.8" textLength="12.2" clip-path="url(#terminal-243650528-line-42)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1069.2" textLength="231.8" clip-path="url(#terminal-243650528-line-43)">  --increment-mode </text><text class="terminal-243650528-r2" x="231.8" y="1069.2" textLength="12.2" clip-path="url(#terminal-243650528-line-43)">{</text><text class="terminal-243650528-r1" x="244" y="1069.2" textLength="146.4" clip-path="url(#terminal-243650528-line-43)">linear,exact</text><text class="terminal-243650528-r2" x="390.4" y="1069.2" textLength="12.2" clip-path="url(#terminal-243650528-line-43)">}</text><text class="terminal-243650528-r1" x="976" y="1069.2" textLength="12.2" clip-path="url(#terminal-243650528-line-43)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1093.6" textLength="902.8" clip-path="url(#terminal-243650528-line-44)">                        set the method by which the new version is chosen.</text><text class="terminal-243650528-r1" x="976" y="1093.6" textLength="12.2" clip-path="url(#terminal-243650528-line-44)">
|
||||
</text><text class="terminal-243650528-r4" x="292.8" y="1118" textLength="97.6" clip-path="url(#terminal-243650528-line-45)">'linear'</text><text class="terminal-243650528-r2" x="402.6" y="1118" textLength="12.2" clip-path="url(#terminal-243650528-line-45)">(</text><text class="terminal-243650528-r1" x="414.8" y="1118" textLength="85.4" clip-path="url(#terminal-243650528-line-45)">default</text><text class="terminal-243650528-r2" x="500.2" y="1118" textLength="12.2" clip-path="url(#terminal-243650528-line-45)">)</text><text class="terminal-243650528-r1" x="512.4" y="1118" textLength="414.8" clip-path="url(#terminal-243650528-line-45)"> guesses the next version based on</text><text class="terminal-243650528-r1" x="976" y="1118" textLength="12.2" clip-path="url(#terminal-243650528-line-45)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1142.4" textLength="939.4" clip-path="url(#terminal-243650528-line-46)">                        typical linear version progression, such that bumping</text><text class="terminal-243650528-r1" x="976" y="1142.4" textLength="12.2" clip-path="url(#terminal-243650528-line-46)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1166.8" textLength="866.2" clip-path="url(#terminal-243650528-line-47)">                        of a pre-release with lower precedence than the</text><text class="terminal-243650528-r1" x="976" y="1166.8" textLength="12.2" clip-path="url(#terminal-243650528-line-47)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1191.2" textLength="939.4" clip-path="url(#terminal-243650528-line-48)">                        current pre-release phase maintains the current phase</text><text class="terminal-243650528-r1" x="976" y="1191.2" textLength="12.2" clip-path="url(#terminal-243650528-line-48)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1215.6" textLength="561.2" clip-path="url(#terminal-243650528-line-49)">                        of higher precedence. </text><text class="terminal-243650528-r4" x="561.2" y="1215.6" textLength="85.4" clip-path="url(#terminal-243650528-line-49)">'exact'</text><text class="terminal-243650528-r1" x="646.6" y="1215.6" textLength="305" clip-path="url(#terminal-243650528-line-49)"> applies the changes that</text><text class="terminal-243650528-r1" x="976" y="1215.6" textLength="12.2" clip-path="url(#terminal-243650528-line-49)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1240" textLength="536.8" clip-path="url(#terminal-243650528-line-50)">                        have been specified </text><text class="terminal-243650528-r2" x="536.8" y="1240" textLength="12.2" clip-path="url(#terminal-243650528-line-50)">(</text><text class="terminal-243650528-r1" x="549" y="1240" textLength="353.8" clip-path="url(#terminal-243650528-line-50)">or determined from the commit</text><text class="terminal-243650528-r1" x="976" y="1240" textLength="12.2" clip-path="url(#terminal-243650528-line-50)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1264.4" textLength="329.4" clip-path="url(#terminal-243650528-line-51)">                        log</text><text class="terminal-243650528-r2" x="329.4" y="1264.4" textLength="12.2" clip-path="url(#terminal-243650528-line-51)">)</text><text class="terminal-243650528-r1" x="341.6" y="1264.4" textLength="585.6" clip-path="url(#terminal-243650528-line-51)"> without interpretation, such that the increment</text><text class="terminal-243650528-r1" x="976" y="1264.4" textLength="12.2" clip-path="url(#terminal-243650528-line-51)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1288.8" textLength="707.6" clip-path="url(#terminal-243650528-line-52)">                        and pre-release are always honored</text><text class="terminal-243650528-r1" x="976" y="1288.8" textLength="12.2" clip-path="url(#terminal-243650528-line-52)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1313.2" textLength="317.2" clip-path="url(#terminal-243650528-line-53)">  --check-consistency, -cc</text><text class="terminal-243650528-r1" x="976" y="1313.2" textLength="12.2" clip-path="url(#terminal-243650528-line-53)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1337.6" textLength="951.6" clip-path="url(#terminal-243650528-line-54)">                        check consistency among versions defined in commitizen</text><text class="terminal-243650528-r1" x="976" y="1337.6" textLength="12.2" clip-path="url(#terminal-243650528-line-54)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1362" textLength="671" clip-path="url(#terminal-243650528-line-55)">                        configuration and version_files</text><text class="terminal-243650528-r1" x="976" y="1362" textLength="12.2" clip-path="url(#terminal-243650528-line-55)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1386.4" textLength="866.2" clip-path="url(#terminal-243650528-line-56)">  --annotated-tag, -at  create annotated tag instead of lightweight one</text><text class="terminal-243650528-r1" x="976" y="1386.4" textLength="12.2" clip-path="url(#terminal-243650528-line-56)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1410.8" textLength="646.6" clip-path="url(#terminal-243650528-line-57)">  --annotated-tag-message, -atm ANNOTATED_TAG_MESSAGE</text><text class="terminal-243650528-r1" x="976" y="1410.8" textLength="12.2" clip-path="url(#terminal-243650528-line-57)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1435.2" textLength="634.4" clip-path="url(#terminal-243650528-line-58)">                        create annotated tag message</text><text class="terminal-243650528-r1" x="976" y="1435.2" textLength="12.2" clip-path="url(#terminal-243650528-line-58)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1459.6" textLength="719.8" clip-path="url(#terminal-243650528-line-59)">  --gpg-sign, -s        sign tag instead of lightweight one</text><text class="terminal-243650528-r1" x="976" y="1459.6" textLength="12.2" clip-path="url(#terminal-243650528-line-59)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1484" textLength="280.6" clip-path="url(#terminal-243650528-line-60)">  --changelog-to-stdout</text><text class="terminal-243650528-r1" x="976" y="1484" textLength="12.2" clip-path="url(#terminal-243650528-line-60)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1508.4" textLength="658.8" clip-path="url(#terminal-243650528-line-61)">                        Output changelog to the stdout</text><text class="terminal-243650528-r1" x="976" y="1508.4" textLength="12.2" clip-path="url(#terminal-243650528-line-61)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1532.8" textLength="292.8" clip-path="url(#terminal-243650528-line-62)">  --git-output-to-stderr</text><text class="terminal-243650528-r1" x="976" y="1532.8" textLength="12.2" clip-path="url(#terminal-243650528-line-62)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1557.2" textLength="646.6" clip-path="url(#terminal-243650528-line-63)">                        Redirect git output to stderr</text><text class="terminal-243650528-r1" x="976" y="1557.2" textLength="12.2" clip-path="url(#terminal-243650528-line-63)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1581.6" textLength="744.2" clip-path="url(#terminal-243650528-line-64)">  --retry               retry commit if it fails the 1st time</text><text class="terminal-243650528-r1" x="976" y="1581.6" textLength="12.2" clip-path="url(#terminal-243650528-line-64)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1606" textLength="939.4" clip-path="url(#terminal-243650528-line-65)">  --major-version-zero  keep major version at zero, even for breaking changes</text><text class="terminal-243650528-r1" x="976" y="1606" textLength="12.2" clip-path="url(#terminal-243650528-line-65)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1630.4" textLength="305" clip-path="url(#terminal-243650528-line-66)">  --template, -t TEMPLATE</text><text class="terminal-243650528-r1" x="976" y="1630.4" textLength="12.2" clip-path="url(#terminal-243650528-line-66)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1654.8" textLength="646.6" clip-path="url(#terminal-243650528-line-67)">                        changelog template file name </text><text class="terminal-243650528-r2" x="646.6" y="1654.8" textLength="12.2" clip-path="url(#terminal-243650528-line-67)">(</text><text class="terminal-243650528-r1" x="658.8" y="1654.8" textLength="280.6" clip-path="url(#terminal-243650528-line-67)">relative to the current</text><text class="terminal-243650528-r1" x="976" y="1654.8" textLength="12.2" clip-path="url(#terminal-243650528-line-67)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1679.2" textLength="500.2" clip-path="url(#terminal-243650528-line-68)">                        working directory</text><text class="terminal-243650528-r2" x="500.2" y="1679.2" textLength="12.2" clip-path="url(#terminal-243650528-line-68)">)</text><text class="terminal-243650528-r1" x="976" y="1679.2" textLength="12.2" clip-path="url(#terminal-243650528-line-68)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1703.6" textLength="622.2" clip-path="url(#terminal-243650528-line-69)">  --extra, -e EXTRA     a changelog extra variable </text><text class="terminal-243650528-r2" x="622.2" y="1703.6" textLength="12.2" clip-path="url(#terminal-243650528-line-69)">(</text><text class="terminal-243650528-r1" x="634.4" y="1703.6" textLength="146.4" clip-path="url(#terminal-243650528-line-69)">in the form </text><text class="terminal-243650528-r4" x="780.8" y="1703.6" textLength="12.2" clip-path="url(#terminal-243650528-line-69)">'</text><text class="terminal-243650528-r4" x="793" y="1703.6" textLength="36.6" clip-path="url(#terminal-243650528-line-69)">key</text><text class="terminal-243650528-r4" x="829.6" y="1703.6" textLength="12.2" clip-path="url(#terminal-243650528-line-69)">=</text><text class="terminal-243650528-r4" x="841.8" y="1703.6" textLength="61" clip-path="url(#terminal-243650528-line-69)">value</text><text class="terminal-243650528-r4" x="902.8" y="1703.6" textLength="12.2" clip-path="url(#terminal-243650528-line-69)">'</text><text class="terminal-243650528-r2" x="915" y="1703.6" textLength="12.2" clip-path="url(#terminal-243650528-line-69)">)</text><text class="terminal-243650528-r1" x="976" y="1703.6" textLength="12.2" clip-path="url(#terminal-243650528-line-69)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1728" textLength="280.6" clip-path="url(#terminal-243650528-line-70)">  --file-name FILE_NAME</text><text class="terminal-243650528-r1" x="976" y="1728" textLength="12.2" clip-path="url(#terminal-243650528-line-70)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1752.4" textLength="573.4" clip-path="url(#terminal-243650528-line-71)">                        file name of changelog </text><text class="terminal-243650528-r2" x="573.4" y="1752.4" textLength="12.2" clip-path="url(#terminal-243650528-line-71)">(</text><text class="terminal-243650528-r1" x="585.6" y="1752.4" textLength="109.8" clip-path="url(#terminal-243650528-line-71)">default: </text><text class="terminal-243650528-r4" x="695.4" y="1752.4" textLength="170.8" clip-path="url(#terminal-243650528-line-71)">'CHANGELOG.md'</text><text class="terminal-243650528-r2" x="866.2" y="1752.4" textLength="12.2" clip-path="url(#terminal-243650528-line-71)">)</text><text class="terminal-243650528-r1" x="976" y="1752.4" textLength="12.2" clip-path="url(#terminal-243650528-line-71)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1776.8" textLength="475.8" clip-path="url(#terminal-243650528-line-72)">  --prerelease-offset PRERELEASE_OFFSET</text><text class="terminal-243650528-r1" x="976" y="1776.8" textLength="12.2" clip-path="url(#terminal-243650528-line-72)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1801.2" textLength="719.8" clip-path="url(#terminal-243650528-line-73)">                        start pre-releases with this offset</text><text class="terminal-243650528-r1" x="976" y="1801.2" textLength="12.2" clip-path="url(#terminal-243650528-line-73)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1825.6" textLength="231.8" clip-path="url(#terminal-243650528-line-74)">  --version-scheme </text><text class="terminal-243650528-r2" x="231.8" y="1825.6" textLength="12.2" clip-path="url(#terminal-243650528-line-74)">{</text><text class="terminal-243650528-r1" x="244" y="1825.6" textLength="256.2" clip-path="url(#terminal-243650528-line-74)">pep440,semver,semver2</text><text class="terminal-243650528-r2" x="500.2" y="1825.6" textLength="12.2" clip-path="url(#terminal-243650528-line-74)">}</text><text class="terminal-243650528-r1" x="976" y="1825.6" textLength="12.2" clip-path="url(#terminal-243650528-line-74)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1850" textLength="549" clip-path="url(#terminal-243650528-line-75)">                        choose version scheme</text><text class="terminal-243650528-r1" x="976" y="1850" textLength="12.2" clip-path="url(#terminal-243650528-line-75)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1874.4" textLength="207.4" clip-path="url(#terminal-243650528-line-76)">  --version-type </text><text class="terminal-243650528-r2" x="207.4" y="1874.4" textLength="12.2" clip-path="url(#terminal-243650528-line-76)">{</text><text class="terminal-243650528-r1" x="219.6" y="1874.4" textLength="256.2" clip-path="url(#terminal-243650528-line-76)">pep440,semver,semver2</text><text class="terminal-243650528-r2" x="475.8" y="1874.4" textLength="12.2" clip-path="url(#terminal-243650528-line-76)">}</text><text class="terminal-243650528-r1" x="976" y="1874.4" textLength="12.2" clip-path="url(#terminal-243650528-line-76)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1898.8" textLength="683.2" clip-path="url(#terminal-243650528-line-77)">                        Deprecated, use --version-scheme</text><text class="terminal-243650528-r1" x="976" y="1898.8" textLength="12.2" clip-path="url(#terminal-243650528-line-77)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1923.2" textLength="402.6" clip-path="url(#terminal-243650528-line-78)">  --build-metadata BUILD_METADATA</text><text class="terminal-243650528-r1" x="976" y="1923.2" textLength="12.2" clip-path="url(#terminal-243650528-line-78)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1947.6" textLength="915" clip-path="url(#terminal-243650528-line-79)">                        Add additional build-metadata to the version-number</text><text class="terminal-243650528-r1" x="976" y="1947.6" textLength="12.2" clip-path="url(#terminal-243650528-line-79)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1972" textLength="854" clip-path="url(#terminal-243650528-line-80)">  --get-next            Determine the next version and write to stdout</text><text class="terminal-243650528-r1" x="976" y="1972" textLength="12.2" clip-path="url(#terminal-243650528-line-80)">
|
||||
</text><text class="terminal-243650528-r1" x="0" y="1996.4" textLength="744.2" clip-path="url(#terminal-243650528-line-81)">  --allow-no-commit     bump version without eligible commits</text><text class="terminal-243650528-r1" x="976" y="1996.4" textLength="12.2" clip-path="url(#terminal-243650528-line-81)">
|
||||
</text><text class="terminal-243650528-r1" x="976" y="2020.8" textLength="12.2" clip-path="url(#terminal-243650528-line-82)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 58 KiB |
221
docs/images/cli_help/cz_changelog___help.svg
Normal file
|
@ -0,0 +1,221 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 1050.4" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-1106739011-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-1106739011-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-1106739011-r1 { fill: #c5c8c6 }
|
||||
.terminal-1106739011-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-1106739011-r3 { fill: #68a0b3;font-weight: bold }
|
||||
.terminal-1106739011-r4 { fill: #98a84b }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-1106739011-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="999.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-7">
|
||||
<rect x="0" y="172.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-8">
|
||||
<rect x="0" y="196.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-9">
|
||||
<rect x="0" y="221.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-10">
|
||||
<rect x="0" y="245.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-11">
|
||||
<rect x="0" y="269.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-12">
|
||||
<rect x="0" y="294.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-13">
|
||||
<rect x="0" y="318.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-14">
|
||||
<rect x="0" y="343.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-15">
|
||||
<rect x="0" y="367.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-16">
|
||||
<rect x="0" y="391.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-17">
|
||||
<rect x="0" y="416.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-18">
|
||||
<rect x="0" y="440.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-19">
|
||||
<rect x="0" y="465.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-20">
|
||||
<rect x="0" y="489.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-21">
|
||||
<rect x="0" y="513.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-22">
|
||||
<rect x="0" y="538.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-23">
|
||||
<rect x="0" y="562.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-24">
|
||||
<rect x="0" y="587.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-25">
|
||||
<rect x="0" y="611.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-26">
|
||||
<rect x="0" y="635.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-27">
|
||||
<rect x="0" y="660.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-28">
|
||||
<rect x="0" y="684.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-29">
|
||||
<rect x="0" y="709.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-30">
|
||||
<rect x="0" y="733.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-31">
|
||||
<rect x="0" y="757.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-32">
|
||||
<rect x="0" y="782.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-33">
|
||||
<rect x="0" y="806.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-34">
|
||||
<rect x="0" y="831.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-35">
|
||||
<rect x="0" y="855.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-36">
|
||||
<rect x="0" y="879.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-37">
|
||||
<rect x="0" y="904.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-38">
|
||||
<rect x="0" y="928.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1106739011-line-39">
|
||||
<rect x="0" y="953.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="1048.4" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-1106739011-clip-terminal)">
|
||||
|
||||
<g class="terminal-1106739011-matrix">
|
||||
<text class="terminal-1106739011-r1" x="0" y="20" textLength="256.2" clip-path="url(#terminal-1106739011-line-0)">$ cz changelog --help</text><text class="terminal-1106739011-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-1106739011-line-0)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="44.4" textLength="244" clip-path="url(#terminal-1106739011-line-1)">usage: cz changelog </text><text class="terminal-1106739011-r2" x="244" y="44.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-1)">[</text><text class="terminal-1106739011-r1" x="256.2" y="44.4" textLength="24.4" clip-path="url(#terminal-1106739011-line-1)">-h</text><text class="terminal-1106739011-r2" x="280.6" y="44.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-1)">]</text><text class="terminal-1106739011-r2" x="305" y="44.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-1)">[</text><text class="terminal-1106739011-r1" x="317.2" y="44.4" textLength="109.8" clip-path="url(#terminal-1106739011-line-1)">--dry-run</text><text class="terminal-1106739011-r2" x="427" y="44.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-1)">]</text><text class="terminal-1106739011-r2" x="451.4" y="44.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-1)">[</text><text class="terminal-1106739011-r1" x="463.6" y="44.4" textLength="256.2" clip-path="url(#terminal-1106739011-line-1)">--file-name FILE_NAME</text><text class="terminal-1106739011-r2" x="719.8" y="44.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-1)">]</text><text class="terminal-1106739011-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-1)">
|
||||
</text><text class="terminal-1106739011-r2" x="244" y="68.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-2)">[</text><text class="terminal-1106739011-r1" x="256.2" y="68.8" textLength="475.8" clip-path="url(#terminal-1106739011-line-2)">--unreleased-version UNRELEASED_VERSION</text><text class="terminal-1106739011-r2" x="732" y="68.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-2)">]</text><text class="terminal-1106739011-r2" x="756.4" y="68.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-2)">[</text><text class="terminal-1106739011-r1" x="768.6" y="68.8" textLength="158.6" clip-path="url(#terminal-1106739011-line-2)">--incremental</text><text class="terminal-1106739011-r2" x="927.2" y="68.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-2)">]</text><text class="terminal-1106739011-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-2)">
|
||||
</text><text class="terminal-1106739011-r2" x="244" y="93.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-3)">[</text><text class="terminal-1106739011-r1" x="256.2" y="93.2" textLength="256.2" clip-path="url(#terminal-1106739011-line-3)">--start-rev START_REV</text><text class="terminal-1106739011-r2" x="512.4" y="93.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-3)">]</text><text class="terminal-1106739011-r2" x="536.8" y="93.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-3)">[</text><text class="terminal-1106739011-r1" x="549" y="93.2" textLength="219.6" clip-path="url(#terminal-1106739011-line-3)">--merge-prerelease</text><text class="terminal-1106739011-r2" x="768.6" y="93.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-3)">]</text><text class="terminal-1106739011-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-3)">
|
||||
</text><text class="terminal-1106739011-r2" x="244" y="117.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-4)">[</text><text class="terminal-1106739011-r1" x="256.2" y="117.6" textLength="207.4" clip-path="url(#terminal-1106739011-line-4)">--version-scheme </text><text class="terminal-1106739011-r2" x="463.6" y="117.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-4)">{</text><text class="terminal-1106739011-r1" x="475.8" y="117.6" textLength="256.2" clip-path="url(#terminal-1106739011-line-4)">pep440,semver,semver2</text><text class="terminal-1106739011-r2" x="732" y="117.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-4)">}</text><text class="terminal-1106739011-r2" x="744.2" y="117.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-4)">]</text><text class="terminal-1106739011-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-4)">
|
||||
</text><text class="terminal-1106739011-r2" x="244" y="142" textLength="12.2" clip-path="url(#terminal-1106739011-line-5)">[</text><text class="terminal-1106739011-r1" x="256.2" y="142" textLength="402.6" clip-path="url(#terminal-1106739011-line-5)">--export-template EXPORT_TEMPLATE</text><text class="terminal-1106739011-r2" x="658.8" y="142" textLength="12.2" clip-path="url(#terminal-1106739011-line-5)">]</text><text class="terminal-1106739011-r2" x="683.2" y="142" textLength="12.2" clip-path="url(#terminal-1106739011-line-5)">[</text><text class="terminal-1106739011-r1" x="695.4" y="142" textLength="231.8" clip-path="url(#terminal-1106739011-line-5)">--template TEMPLATE</text><text class="terminal-1106739011-r2" x="927.2" y="142" textLength="12.2" clip-path="url(#terminal-1106739011-line-5)">]</text><text class="terminal-1106739011-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-1106739011-line-5)">
|
||||
</text><text class="terminal-1106739011-r2" x="244" y="166.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-6)">[</text><text class="terminal-1106739011-r1" x="256.2" y="166.4" textLength="158.6" clip-path="url(#terminal-1106739011-line-6)">--extra EXTRA</text><text class="terminal-1106739011-r2" x="414.8" y="166.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-6)">]</text><text class="terminal-1106739011-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-6)">
|
||||
</text><text class="terminal-1106739011-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-7)">
|
||||
</text><text class="terminal-1106739011-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-8)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="239.6" textLength="231.8" clip-path="url(#terminal-1106739011-line-9)">generate changelog </text><text class="terminal-1106739011-r2" x="231.8" y="239.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-9)">(</text><text class="terminal-1106739011-r1" x="244" y="239.6" textLength="500.2" clip-path="url(#terminal-1106739011-line-9)">note that it will overwrite existing file</text><text class="terminal-1106739011-r2" x="744.2" y="239.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-9)">)</text><text class="terminal-1106739011-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-9)">
|
||||
</text><text class="terminal-1106739011-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-1106739011-line-10)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="288.4" textLength="256.2" clip-path="url(#terminal-1106739011-line-11)">positional arguments:</text><text class="terminal-1106739011-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-11)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="312.8" textLength="805.2" clip-path="url(#terminal-1106739011-line-12)">  rev_range             generates changelog for the given version </text><text class="terminal-1106739011-r2" x="805.2" y="312.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-12)">(</text><text class="terminal-1106739011-r1" x="817.4" y="312.8" textLength="61" clip-path="url(#terminal-1106739011-line-12)">e.g: </text><text class="terminal-1106739011-r3" x="878.4" y="312.8" textLength="36.6" clip-path="url(#terminal-1106739011-line-12)">1.5</text><text class="terminal-1106739011-r1" x="915" y="312.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-12)">.</text><text class="terminal-1106739011-r3" x="927.2" y="312.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-12)">3</text><text class="terminal-1106739011-r2" x="939.4" y="312.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-12)">)</text><text class="terminal-1106739011-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-12)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="337.2" textLength="500.2" clip-path="url(#terminal-1106739011-line-13)">                        or version range </text><text class="terminal-1106739011-r2" x="500.2" y="337.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-13)">(</text><text class="terminal-1106739011-r1" x="512.4" y="337.2" textLength="61" clip-path="url(#terminal-1106739011-line-13)">e.g: </text><text class="terminal-1106739011-r3" x="573.4" y="337.2" textLength="36.6" clip-path="url(#terminal-1106739011-line-13)">1.5</text><text class="terminal-1106739011-r1" x="610" y="337.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-13)">.</text><text class="terminal-1106739011-r3" x="622.2" y="337.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-13)">3</text><text class="terminal-1106739011-r1" x="634.4" y="337.2" textLength="24.4" clip-path="url(#terminal-1106739011-line-13)">..</text><text class="terminal-1106739011-r3" x="658.8" y="337.2" textLength="36.6" clip-path="url(#terminal-1106739011-line-13)">1.7</text><text class="terminal-1106739011-r1" x="695.4" y="337.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-13)">.</text><text class="terminal-1106739011-r3" x="707.6" y="337.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-13)">9</text><text class="terminal-1106739011-r2" x="719.8" y="337.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-13)">)</text><text class="terminal-1106739011-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-13)">
|
||||
</text><text class="terminal-1106739011-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-14)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="386" textLength="97.6" clip-path="url(#terminal-1106739011-line-15)">options:</text><text class="terminal-1106739011-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-1106739011-line-15)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="410.4" textLength="671" clip-path="url(#terminal-1106739011-line-16)">  -h, --help            show this help message and exit</text><text class="terminal-1106739011-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-16)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="434.8" textLength="585.6" clip-path="url(#terminal-1106739011-line-17)">  --dry-run             show changelog to stdout</text><text class="terminal-1106739011-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-17)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="459.2" textLength="280.6" clip-path="url(#terminal-1106739011-line-18)">  --file-name FILE_NAME</text><text class="terminal-1106739011-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-18)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="483.6" textLength="573.4" clip-path="url(#terminal-1106739011-line-19)">                        file name of changelog </text><text class="terminal-1106739011-r2" x="573.4" y="483.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-19)">(</text><text class="terminal-1106739011-r1" x="585.6" y="483.6" textLength="109.8" clip-path="url(#terminal-1106739011-line-19)">default: </text><text class="terminal-1106739011-r4" x="695.4" y="483.6" textLength="170.8" clip-path="url(#terminal-1106739011-line-19)">'CHANGELOG.md'</text><text class="terminal-1106739011-r2" x="866.2" y="483.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-19)">)</text><text class="terminal-1106739011-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-19)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="508" textLength="500.2" clip-path="url(#terminal-1106739011-line-20)">  --unreleased-version UNRELEASED_VERSION</text><text class="terminal-1106739011-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-1106739011-line-20)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="532.4" textLength="707.6" clip-path="url(#terminal-1106739011-line-21)">                        set the value for the new version </text><text class="terminal-1106739011-r2" x="707.6" y="532.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-21)">(</text><text class="terminal-1106739011-r1" x="719.8" y="532.4" textLength="207.4" clip-path="url(#terminal-1106739011-line-21)">use the tag value</text><text class="terminal-1106739011-r2" x="927.2" y="532.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-21)">)</text><text class="terminal-1106739011-r1" x="939.4" y="532.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-21)">,</text><text class="terminal-1106739011-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-21)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="556.8" textLength="622.2" clip-path="url(#terminal-1106739011-line-22)">                        instead of using unreleased</text><text class="terminal-1106739011-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-22)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="581.2" textLength="939.4" clip-path="url(#terminal-1106739011-line-23)">  --incremental         generates changelog from last created version, useful</text><text class="terminal-1106739011-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-23)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="605.6" textLength="817.4" clip-path="url(#terminal-1106739011-line-24)">                        if the changelog has been manually modified</text><text class="terminal-1106739011-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-24)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="630" textLength="280.6" clip-path="url(#terminal-1106739011-line-25)">  --start-rev START_REV</text><text class="terminal-1106739011-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-1106739011-line-25)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="654.4" textLength="866.2" clip-path="url(#terminal-1106739011-line-26)">                        start rev of the changelog. If not set, it will</text><text class="terminal-1106739011-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-26)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="678.8" textLength="695.4" clip-path="url(#terminal-1106739011-line-27)">                        generate changelog from the start</text><text class="terminal-1106739011-r1" x="976" y="678.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-27)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="703.2" textLength="915" clip-path="url(#terminal-1106739011-line-28)">  --merge-prerelease    collect all changes from prereleases into next non-</text><text class="terminal-1106739011-r1" x="976" y="703.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-28)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="727.6" textLength="951.6" clip-path="url(#terminal-1106739011-line-29)">                        prerelease. If not set, it will include prereleases in</text><text class="terminal-1106739011-r1" x="976" y="727.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-29)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="752" textLength="451.4" clip-path="url(#terminal-1106739011-line-30)">                        the changelog</text><text class="terminal-1106739011-r1" x="976" y="752" textLength="12.2" clip-path="url(#terminal-1106739011-line-30)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="776.4" textLength="231.8" clip-path="url(#terminal-1106739011-line-31)">  --version-scheme </text><text class="terminal-1106739011-r2" x="231.8" y="776.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-31)">{</text><text class="terminal-1106739011-r1" x="244" y="776.4" textLength="256.2" clip-path="url(#terminal-1106739011-line-31)">pep440,semver,semver2</text><text class="terminal-1106739011-r2" x="500.2" y="776.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-31)">}</text><text class="terminal-1106739011-r1" x="976" y="776.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-31)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="800.8" textLength="549" clip-path="url(#terminal-1106739011-line-32)">                        choose version scheme</text><text class="terminal-1106739011-r1" x="976" y="800.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-32)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="825.2" textLength="427" clip-path="url(#terminal-1106739011-line-33)">  --export-template EXPORT_TEMPLATE</text><text class="terminal-1106739011-r1" x="976" y="825.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-33)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="849.6" textLength="927.2" clip-path="url(#terminal-1106739011-line-34)">                        Export the changelog template into this file instead</text><text class="terminal-1106739011-r1" x="976" y="849.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-34)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="874" textLength="475.8" clip-path="url(#terminal-1106739011-line-35)">                        of rendering it</text><text class="terminal-1106739011-r1" x="976" y="874" textLength="12.2" clip-path="url(#terminal-1106739011-line-35)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="898.4" textLength="305" clip-path="url(#terminal-1106739011-line-36)">  --template, -t TEMPLATE</text><text class="terminal-1106739011-r1" x="976" y="898.4" textLength="12.2" clip-path="url(#terminal-1106739011-line-36)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="922.8" textLength="646.6" clip-path="url(#terminal-1106739011-line-37)">                        changelog template file name </text><text class="terminal-1106739011-r2" x="646.6" y="922.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-37)">(</text><text class="terminal-1106739011-r1" x="658.8" y="922.8" textLength="280.6" clip-path="url(#terminal-1106739011-line-37)">relative to the current</text><text class="terminal-1106739011-r1" x="976" y="922.8" textLength="12.2" clip-path="url(#terminal-1106739011-line-37)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="947.2" textLength="500.2" clip-path="url(#terminal-1106739011-line-38)">                        working directory</text><text class="terminal-1106739011-r2" x="500.2" y="947.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-38)">)</text><text class="terminal-1106739011-r1" x="976" y="947.2" textLength="12.2" clip-path="url(#terminal-1106739011-line-38)">
|
||||
</text><text class="terminal-1106739011-r1" x="0" y="971.6" textLength="622.2" clip-path="url(#terminal-1106739011-line-39)">  --extra, -e EXTRA     a changelog extra variable </text><text class="terminal-1106739011-r2" x="622.2" y="971.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-39)">(</text><text class="terminal-1106739011-r1" x="634.4" y="971.6" textLength="146.4" clip-path="url(#terminal-1106739011-line-39)">in the form </text><text class="terminal-1106739011-r4" x="780.8" y="971.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-39)">'</text><text class="terminal-1106739011-r4" x="793" y="971.6" textLength="36.6" clip-path="url(#terminal-1106739011-line-39)">key</text><text class="terminal-1106739011-r4" x="829.6" y="971.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-39)">=</text><text class="terminal-1106739011-r4" x="841.8" y="971.6" textLength="61" clip-path="url(#terminal-1106739011-line-39)">value</text><text class="terminal-1106739011-r4" x="902.8" y="971.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-39)">'</text><text class="terminal-1106739011-r2" x="915" y="971.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-39)">)</text><text class="terminal-1106739011-r1" x="976" y="971.6" textLength="12.2" clip-path="url(#terminal-1106739011-line-39)">
|
||||
</text><text class="terminal-1106739011-r1" x="976" y="996" textLength="12.2" clip-path="url(#terminal-1106739011-line-40)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 30 KiB |
165
docs/images/cli_help/cz_check___help.svg
Normal file
|
@ -0,0 +1,165 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 708.8" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-1360575461-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-1360575461-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-1360575461-r1 { fill: #c5c8c6 }
|
||||
.terminal-1360575461-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-1360575461-r3 { fill: #d0b344 }
|
||||
.terminal-1360575461-r4 { fill: #68a0b3;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-1360575461-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="657.8" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-7">
|
||||
<rect x="0" y="172.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-8">
|
||||
<rect x="0" y="196.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-9">
|
||||
<rect x="0" y="221.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-10">
|
||||
<rect x="0" y="245.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-11">
|
||||
<rect x="0" y="269.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-12">
|
||||
<rect x="0" y="294.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-13">
|
||||
<rect x="0" y="318.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-14">
|
||||
<rect x="0" y="343.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-15">
|
||||
<rect x="0" y="367.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-16">
|
||||
<rect x="0" y="391.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-17">
|
||||
<rect x="0" y="416.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-18">
|
||||
<rect x="0" y="440.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-19">
|
||||
<rect x="0" y="465.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-20">
|
||||
<rect x="0" y="489.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-21">
|
||||
<rect x="0" y="513.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-22">
|
||||
<rect x="0" y="538.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-23">
|
||||
<rect x="0" y="562.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-24">
|
||||
<rect x="0" y="587.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1360575461-line-25">
|
||||
<rect x="0" y="611.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="706.8" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-1360575461-clip-terminal)">
|
||||
|
||||
<g class="terminal-1360575461-matrix">
|
||||
<text class="terminal-1360575461-r1" x="0" y="20" textLength="207.4" clip-path="url(#terminal-1360575461-line-0)">$ cz check --help</text><text class="terminal-1360575461-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-1360575461-line-0)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="44.4" textLength="195.2" clip-path="url(#terminal-1360575461-line-1)">usage: cz check </text><text class="terminal-1360575461-r2" x="195.2" y="44.4" textLength="12.2" clip-path="url(#terminal-1360575461-line-1)">[</text><text class="terminal-1360575461-r1" x="207.4" y="44.4" textLength="24.4" clip-path="url(#terminal-1360575461-line-1)">-h</text><text class="terminal-1360575461-r2" x="231.8" y="44.4" textLength="12.2" clip-path="url(#terminal-1360575461-line-1)">]</text><text class="terminal-1360575461-r2" x="256.2" y="44.4" textLength="12.2" clip-path="url(#terminal-1360575461-line-1)">[</text><text class="terminal-1360575461-r1" x="268.4" y="44.4" textLength="427" clip-path="url(#terminal-1360575461-line-1)">--commit-msg-file COMMIT_MSG_FILE |</text><text class="terminal-1360575461-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-1360575461-line-1)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="68.8" textLength="610" clip-path="url(#terminal-1360575461-line-2)">                --rev-range REV_RANGE | -m MESSAGE</text><text class="terminal-1360575461-r2" x="610" y="68.8" textLength="12.2" clip-path="url(#terminal-1360575461-line-2)">]</text><text class="terminal-1360575461-r2" x="634.4" y="68.8" textLength="12.2" clip-path="url(#terminal-1360575461-line-2)">[</text><text class="terminal-1360575461-r1" x="646.6" y="68.8" textLength="158.6" clip-path="url(#terminal-1360575461-line-2)">--allow-abort</text><text class="terminal-1360575461-r2" x="805.2" y="68.8" textLength="12.2" clip-path="url(#terminal-1360575461-line-2)">]</text><text class="terminal-1360575461-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-1360575461-line-2)">
|
||||
</text><text class="terminal-1360575461-r2" x="195.2" y="93.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-3)">[</text><text class="terminal-1360575461-r1" x="207.4" y="93.2" textLength="231.8" clip-path="url(#terminal-1360575461-line-3)">--allowed-prefixes </text><text class="terminal-1360575461-r2" x="439.2" y="93.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-3)">[</text><text class="terminal-1360575461-r1" x="451.4" y="93.2" textLength="207.4" clip-path="url(#terminal-1360575461-line-3)">ALLOWED_PREFIXES </text><text class="terminal-1360575461-r3" x="658.8" y="93.2" textLength="36.6" clip-path="url(#terminal-1360575461-line-3)">...</text><text class="terminal-1360575461-r2" x="695.4" y="93.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-3)">]</text><text class="terminal-1360575461-r2" x="707.6" y="93.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-3)">]</text><text class="terminal-1360575461-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-3)">
|
||||
</text><text class="terminal-1360575461-r2" x="195.2" y="117.6" textLength="12.2" clip-path="url(#terminal-1360575461-line-4)">[</text><text class="terminal-1360575461-r1" x="207.4" y="117.6" textLength="280.6" clip-path="url(#terminal-1360575461-line-4)">-l MESSAGE_LENGTH_LIMIT</text><text class="terminal-1360575461-r2" x="488" y="117.6" textLength="12.2" clip-path="url(#terminal-1360575461-line-4)">]</text><text class="terminal-1360575461-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-1360575461-line-4)">
|
||||
</text><text class="terminal-1360575461-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-1360575461-line-5)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="166.4" textLength="744.2" clip-path="url(#terminal-1360575461-line-6)">validates that a commit message matches the commitizen schema</text><text class="terminal-1360575461-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-1360575461-line-6)">
|
||||
</text><text class="terminal-1360575461-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-1360575461-line-7)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="215.2" textLength="97.6" clip-path="url(#terminal-1360575461-line-8)">options:</text><text class="terminal-1360575461-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-8)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="239.6" textLength="671" clip-path="url(#terminal-1360575461-line-9)">  -h, --help            show this help message and exit</text><text class="terminal-1360575461-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-1360575461-line-9)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="264" textLength="427" clip-path="url(#terminal-1360575461-line-10)">  --commit-msg-file COMMIT_MSG_FILE</text><text class="terminal-1360575461-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-1360575461-line-10)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="288.4" textLength="915" clip-path="url(#terminal-1360575461-line-11)">                        ask for the name of the temporal file that contains</text><text class="terminal-1360575461-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-1360575461-line-11)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="312.8" textLength="902.8" clip-path="url(#terminal-1360575461-line-12)">                        the commit message. Using it in a git hook script:</text><text class="terminal-1360575461-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-1360575461-line-12)">
|
||||
</text><text class="terminal-1360575461-r3" x="292.8" y="337.2" textLength="97.6" clip-path="url(#terminal-1360575461-line-13)">MSG_FILE</text><text class="terminal-1360575461-r1" x="390.4" y="337.2" textLength="24.4" clip-path="url(#terminal-1360575461-line-13)">=$</text><text class="terminal-1360575461-r4" x="414.8" y="337.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-13)">1</text><text class="terminal-1360575461-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-13)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="361.6" textLength="280.6" clip-path="url(#terminal-1360575461-line-14)">  --rev-range REV_RANGE</text><text class="terminal-1360575461-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-1360575461-line-14)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="386" textLength="854" clip-path="url(#terminal-1360575461-line-15)">                        a range of git rev to check. e.g, master..HEAD</text><text class="terminal-1360575461-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-1360575461-line-15)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="410.4" textLength="280.6" clip-path="url(#terminal-1360575461-line-16)">  -m, --message MESSAGE</text><text class="terminal-1360575461-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-1360575461-line-16)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="434.8" textLength="768.6" clip-path="url(#terminal-1360575461-line-17)">                        commit message that needs to be checked</text><text class="terminal-1360575461-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-1360575461-line-17)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="459.2" textLength="927.2" clip-path="url(#terminal-1360575461-line-18)">  --allow-abort         allow empty commit messages, which typically abort a</text><text class="terminal-1360575461-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-18)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="483.6" textLength="366" clip-path="url(#terminal-1360575461-line-19)">                        commit</text><text class="terminal-1360575461-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-1360575461-line-19)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="508" textLength="256.2" clip-path="url(#terminal-1360575461-line-20)">  --allowed-prefixes </text><text class="terminal-1360575461-r2" x="256.2" y="508" textLength="12.2" clip-path="url(#terminal-1360575461-line-20)">[</text><text class="terminal-1360575461-r1" x="268.4" y="508" textLength="207.4" clip-path="url(#terminal-1360575461-line-20)">ALLOWED_PREFIXES </text><text class="terminal-1360575461-r3" x="475.8" y="508" textLength="36.6" clip-path="url(#terminal-1360575461-line-20)">...</text><text class="terminal-1360575461-r2" x="512.4" y="508" textLength="12.2" clip-path="url(#terminal-1360575461-line-20)">]</text><text class="terminal-1360575461-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-1360575461-line-20)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="532.4" textLength="951.6" clip-path="url(#terminal-1360575461-line-21)">                        allowed commit message prefixes. If the message starts</text><text class="terminal-1360575461-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-1360575461-line-21)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="556.8" textLength="951.6" clip-path="url(#terminal-1360575461-line-22)">                        by one of these prefixes, the message won't be checked</text><text class="terminal-1360575461-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-1360575461-line-22)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="581.2" textLength="500.2" clip-path="url(#terminal-1360575461-line-23)">                        against the regex</text><text class="terminal-1360575461-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-1360575461-line-23)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="605.6" textLength="597.8" clip-path="url(#terminal-1360575461-line-24)">  -l, --message-length-limit MESSAGE_LENGTH_LIMIT</text><text class="terminal-1360575461-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-1360575461-line-24)">
|
||||
</text><text class="terminal-1360575461-r1" x="0" y="630" textLength="732" clip-path="url(#terminal-1360575461-line-25)">                        length limit of the commit message; </text><text class="terminal-1360575461-r4" x="732" y="630" textLength="12.2" clip-path="url(#terminal-1360575461-line-25)">0</text><text class="terminal-1360575461-r1" x="744.2" y="630" textLength="158.6" clip-path="url(#terminal-1360575461-line-25)"> for no limit</text><text class="terminal-1360575461-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-1360575461-line-25)">
|
||||
</text><text class="terminal-1360575461-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-1360575461-line-26)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
152
docs/images/cli_help/cz_commit___help.svg
Normal file
|
@ -0,0 +1,152 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 635.5999999999999" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-463778956-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-463778956-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-463778956-r1 { fill: #c5c8c6 }
|
||||
.terminal-463778956-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-463778956-r3 { fill: #68a0b3;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-463778956-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="584.5999999999999" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-7">
|
||||
<rect x="0" y="172.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-8">
|
||||
<rect x="0" y="196.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-9">
|
||||
<rect x="0" y="221.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-10">
|
||||
<rect x="0" y="245.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-11">
|
||||
<rect x="0" y="269.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-12">
|
||||
<rect x="0" y="294.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-13">
|
||||
<rect x="0" y="318.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-14">
|
||||
<rect x="0" y="343.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-15">
|
||||
<rect x="0" y="367.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-16">
|
||||
<rect x="0" y="391.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-17">
|
||||
<rect x="0" y="416.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-18">
|
||||
<rect x="0" y="440.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-19">
|
||||
<rect x="0" y="465.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-20">
|
||||
<rect x="0" y="489.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-21">
|
||||
<rect x="0" y="513.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-463778956-line-22">
|
||||
<rect x="0" y="538.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="633.6" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-463778956-clip-terminal)">
|
||||
|
||||
<g class="terminal-463778956-matrix">
|
||||
<text class="terminal-463778956-r1" x="0" y="20" textLength="219.6" clip-path="url(#terminal-463778956-line-0)">$ cz commit --help</text><text class="terminal-463778956-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-463778956-line-0)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="44.4" textLength="207.4" clip-path="url(#terminal-463778956-line-1)">usage: cz commit </text><text class="terminal-463778956-r2" x="207.4" y="44.4" textLength="12.2" clip-path="url(#terminal-463778956-line-1)">[</text><text class="terminal-463778956-r1" x="219.6" y="44.4" textLength="24.4" clip-path="url(#terminal-463778956-line-1)">-h</text><text class="terminal-463778956-r2" x="244" y="44.4" textLength="12.2" clip-path="url(#terminal-463778956-line-1)">]</text><text class="terminal-463778956-r2" x="268.4" y="44.4" textLength="12.2" clip-path="url(#terminal-463778956-line-1)">[</text><text class="terminal-463778956-r1" x="280.6" y="44.4" textLength="85.4" clip-path="url(#terminal-463778956-line-1)">--retry</text><text class="terminal-463778956-r2" x="366" y="44.4" textLength="12.2" clip-path="url(#terminal-463778956-line-1)">]</text><text class="terminal-463778956-r2" x="390.4" y="44.4" textLength="12.2" clip-path="url(#terminal-463778956-line-1)">[</text><text class="terminal-463778956-r1" x="402.6" y="44.4" textLength="122" clip-path="url(#terminal-463778956-line-1)">--no-retry</text><text class="terminal-463778956-r2" x="524.6" y="44.4" textLength="12.2" clip-path="url(#terminal-463778956-line-1)">]</text><text class="terminal-463778956-r2" x="549" y="44.4" textLength="12.2" clip-path="url(#terminal-463778956-line-1)">[</text><text class="terminal-463778956-r1" x="561.2" y="44.4" textLength="109.8" clip-path="url(#terminal-463778956-line-1)">--dry-run</text><text class="terminal-463778956-r2" x="671" y="44.4" textLength="12.2" clip-path="url(#terminal-463778956-line-1)">]</text><text class="terminal-463778956-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-463778956-line-1)">
|
||||
</text><text class="terminal-463778956-r2" x="207.4" y="68.8" textLength="12.2" clip-path="url(#terminal-463778956-line-2)">[</text><text class="terminal-463778956-r1" x="219.6" y="68.8" textLength="402.6" clip-path="url(#terminal-463778956-line-2)">--write-message-to-file FILE_PATH</text><text class="terminal-463778956-r2" x="622.2" y="68.8" textLength="12.2" clip-path="url(#terminal-463778956-line-2)">]</text><text class="terminal-463778956-r2" x="646.6" y="68.8" textLength="12.2" clip-path="url(#terminal-463778956-line-2)">[</text><text class="terminal-463778956-r1" x="658.8" y="68.8" textLength="24.4" clip-path="url(#terminal-463778956-line-2)">-s</text><text class="terminal-463778956-r2" x="683.2" y="68.8" textLength="12.2" clip-path="url(#terminal-463778956-line-2)">]</text><text class="terminal-463778956-r2" x="707.6" y="68.8" textLength="12.2" clip-path="url(#terminal-463778956-line-2)">[</text><text class="terminal-463778956-r1" x="719.8" y="68.8" textLength="24.4" clip-path="url(#terminal-463778956-line-2)">-a</text><text class="terminal-463778956-r2" x="744.2" y="68.8" textLength="12.2" clip-path="url(#terminal-463778956-line-2)">]</text><text class="terminal-463778956-r2" x="768.6" y="68.8" textLength="12.2" clip-path="url(#terminal-463778956-line-2)">[</text><text class="terminal-463778956-r1" x="780.8" y="68.8" textLength="24.4" clip-path="url(#terminal-463778956-line-2)">-e</text><text class="terminal-463778956-r2" x="805.2" y="68.8" textLength="12.2" clip-path="url(#terminal-463778956-line-2)">]</text><text class="terminal-463778956-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-463778956-line-2)">
|
||||
</text><text class="terminal-463778956-r2" x="207.4" y="93.2" textLength="12.2" clip-path="url(#terminal-463778956-line-3)">[</text><text class="terminal-463778956-r1" x="219.6" y="93.2" textLength="280.6" clip-path="url(#terminal-463778956-line-3)">-l MESSAGE_LENGTH_LIMIT</text><text class="terminal-463778956-r2" x="500.2" y="93.2" textLength="12.2" clip-path="url(#terminal-463778956-line-3)">]</text><text class="terminal-463778956-r2" x="524.6" y="93.2" textLength="12.2" clip-path="url(#terminal-463778956-line-3)">[</text><text class="terminal-463778956-r1" x="536.8" y="93.2" textLength="24.4" clip-path="url(#terminal-463778956-line-3)">--</text><text class="terminal-463778956-r2" x="561.2" y="93.2" textLength="12.2" clip-path="url(#terminal-463778956-line-3)">]</text><text class="terminal-463778956-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-463778956-line-3)">
|
||||
</text><text class="terminal-463778956-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-463778956-line-4)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="142" textLength="207.4" clip-path="url(#terminal-463778956-line-5)">create new commit</text><text class="terminal-463778956-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-463778956-line-5)">
|
||||
</text><text class="terminal-463778956-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-463778956-line-6)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="190.8" textLength="97.6" clip-path="url(#terminal-463778956-line-7)">options:</text><text class="terminal-463778956-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-463778956-line-7)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="215.2" textLength="671" clip-path="url(#terminal-463778956-line-8)">  -h, --help            show this help message and exit</text><text class="terminal-463778956-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-463778956-line-8)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="239.6" textLength="500.2" clip-path="url(#terminal-463778956-line-9)">  --retry               retry last commit</text><text class="terminal-463778956-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-463778956-line-9)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="264" textLength="878.4" clip-path="url(#terminal-463778956-line-10)">  --no-retry            skip retry if retry_after_failure is set to true</text><text class="terminal-463778956-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-463778956-line-10)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="288.4" textLength="915" clip-path="url(#terminal-463778956-line-11)">  --dry-run             show output to stdout, no commit, no modified files</text><text class="terminal-463778956-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-463778956-line-11)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="312.8" textLength="427" clip-path="url(#terminal-463778956-line-12)">  --write-message-to-file FILE_PATH</text><text class="terminal-463778956-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-463778956-line-12)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="337.2" textLength="780.8" clip-path="url(#terminal-463778956-line-13)">                        write message to file before committing </text><text class="terminal-463778956-r2" x="780.8" y="337.2" textLength="12.2" clip-path="url(#terminal-463778956-line-13)">(</text><text class="terminal-463778956-r1" x="793" y="337.2" textLength="73.2" clip-path="url(#terminal-463778956-line-13)">can be</text><text class="terminal-463778956-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-463778956-line-13)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="361.6" textLength="573.4" clip-path="url(#terminal-463778956-line-14)">                        combined with --dry-run</text><text class="terminal-463778956-r2" x="573.4" y="361.6" textLength="12.2" clip-path="url(#terminal-463778956-line-14)">)</text><text class="terminal-463778956-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-463778956-line-14)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="386" textLength="524.6" clip-path="url(#terminal-463778956-line-15)">  -s, --signoff         sign off the commit</text><text class="terminal-463778956-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-463778956-line-15)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="410.4" textLength="902.8" clip-path="url(#terminal-463778956-line-16)">  -a, --all             Tell the command to automatically stage files that</text><text class="terminal-463778956-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-463778956-line-16)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="434.8" textLength="951.6" clip-path="url(#terminal-463778956-line-17)">                        have been modified and deleted, but new files you have</text><text class="terminal-463778956-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-463778956-line-17)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="459.2" textLength="732" clip-path="url(#terminal-463778956-line-18)">                        not told Git about are not affected.</text><text class="terminal-463778956-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-463778956-line-18)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="483.6" textLength="793" clip-path="url(#terminal-463778956-line-19)">  -e, --edit            edit the commit message before committing</text><text class="terminal-463778956-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-463778956-line-19)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="508" textLength="597.8" clip-path="url(#terminal-463778956-line-20)">  -l, --message-length-limit MESSAGE_LENGTH_LIMIT</text><text class="terminal-463778956-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-463778956-line-20)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="532.4" textLength="732" clip-path="url(#terminal-463778956-line-21)">                        length limit of the commit message; </text><text class="terminal-463778956-r3" x="732" y="532.4" textLength="12.2" clip-path="url(#terminal-463778956-line-21)">0</text><text class="terminal-463778956-r1" x="744.2" y="532.4" textLength="158.6" clip-path="url(#terminal-463778956-line-21)"> for no limit</text><text class="terminal-463778956-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-463778956-line-21)">
|
||||
</text><text class="terminal-463778956-r1" x="0" y="556.8" textLength="671" clip-path="url(#terminal-463778956-line-22)">  --                    Positional arguments separator </text><text class="terminal-463778956-r2" x="671" y="556.8" textLength="12.2" clip-path="url(#terminal-463778956-line-22)">(</text><text class="terminal-463778956-r1" x="683.2" y="556.8" textLength="134.2" clip-path="url(#terminal-463778956-line-22)">recommended</text><text class="terminal-463778956-r2" x="817.4" y="556.8" textLength="12.2" clip-path="url(#terminal-463778956-line-22)">)</text><text class="terminal-463778956-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-463778956-line-22)">
|
||||
</text><text class="terminal-463778956-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-463778956-line-23)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 17 KiB |
87
docs/images/cli_help/cz_example___help.svg
Normal file
|
@ -0,0 +1,87 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 245.2" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-1643610534-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-1643610534-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-1643610534-r1 { fill: #c5c8c6 }
|
||||
.terminal-1643610534-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-1643610534-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="194.2" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1643610534-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1643610534-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1643610534-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1643610534-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1643610534-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1643610534-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1643610534-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="243.2" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-1643610534-clip-terminal)">
|
||||
|
||||
<g class="terminal-1643610534-matrix">
|
||||
<text class="terminal-1643610534-r1" x="0" y="20" textLength="231.8" clip-path="url(#terminal-1643610534-line-0)">$ cz example --help</text><text class="terminal-1643610534-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-1643610534-line-0)">
|
||||
</text><text class="terminal-1643610534-r1" x="0" y="44.4" textLength="219.6" clip-path="url(#terminal-1643610534-line-1)">usage: cz example </text><text class="terminal-1643610534-r2" x="219.6" y="44.4" textLength="12.2" clip-path="url(#terminal-1643610534-line-1)">[</text><text class="terminal-1643610534-r1" x="231.8" y="44.4" textLength="24.4" clip-path="url(#terminal-1643610534-line-1)">-h</text><text class="terminal-1643610534-r2" x="256.2" y="44.4" textLength="12.2" clip-path="url(#terminal-1643610534-line-1)">]</text><text class="terminal-1643610534-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-1643610534-line-1)">
|
||||
</text><text class="terminal-1643610534-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-1643610534-line-2)">
|
||||
</text><text class="terminal-1643610534-r1" x="0" y="93.2" textLength="231.8" clip-path="url(#terminal-1643610534-line-3)">show commit example</text><text class="terminal-1643610534-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-1643610534-line-3)">
|
||||
</text><text class="terminal-1643610534-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-1643610534-line-4)">
|
||||
</text><text class="terminal-1643610534-r1" x="0" y="142" textLength="97.6" clip-path="url(#terminal-1643610534-line-5)">options:</text><text class="terminal-1643610534-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-1643610534-line-5)">
|
||||
</text><text class="terminal-1643610534-r1" x="0" y="166.4" textLength="549" clip-path="url(#terminal-1643610534-line-6)">  -h, --help  show this help message and exit</text><text class="terminal-1643610534-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-1643610534-line-6)">
|
||||
</text><text class="terminal-1643610534-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-1643610534-line-7)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5 KiB |
87
docs/images/cli_help/cz_info___help.svg
Normal file
|
@ -0,0 +1,87 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 245.2" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-4196041424-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-4196041424-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-4196041424-r1 { fill: #c5c8c6 }
|
||||
.terminal-4196041424-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-4196041424-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="194.2" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4196041424-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4196041424-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4196041424-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4196041424-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4196041424-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4196041424-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4196041424-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="243.2" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-4196041424-clip-terminal)">
|
||||
|
||||
<g class="terminal-4196041424-matrix">
|
||||
<text class="terminal-4196041424-r1" x="0" y="20" textLength="195.2" clip-path="url(#terminal-4196041424-line-0)">$ cz info --help</text><text class="terminal-4196041424-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-4196041424-line-0)">
|
||||
</text><text class="terminal-4196041424-r1" x="0" y="44.4" textLength="183" clip-path="url(#terminal-4196041424-line-1)">usage: cz info </text><text class="terminal-4196041424-r2" x="183" y="44.4" textLength="12.2" clip-path="url(#terminal-4196041424-line-1)">[</text><text class="terminal-4196041424-r1" x="195.2" y="44.4" textLength="24.4" clip-path="url(#terminal-4196041424-line-1)">-h</text><text class="terminal-4196041424-r2" x="219.6" y="44.4" textLength="12.2" clip-path="url(#terminal-4196041424-line-1)">]</text><text class="terminal-4196041424-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-4196041424-line-1)">
|
||||
</text><text class="terminal-4196041424-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-4196041424-line-2)">
|
||||
</text><text class="terminal-4196041424-r1" x="0" y="93.2" textLength="353.8" clip-path="url(#terminal-4196041424-line-3)">show information about the cz</text><text class="terminal-4196041424-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-4196041424-line-3)">
|
||||
</text><text class="terminal-4196041424-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-4196041424-line-4)">
|
||||
</text><text class="terminal-4196041424-r1" x="0" y="142" textLength="97.6" clip-path="url(#terminal-4196041424-line-5)">options:</text><text class="terminal-4196041424-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-4196041424-line-5)">
|
||||
</text><text class="terminal-4196041424-r1" x="0" y="166.4" textLength="549" clip-path="url(#terminal-4196041424-line-6)">  -h, --help  show this help message and exit</text><text class="terminal-4196041424-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-4196041424-line-6)">
|
||||
</text><text class="terminal-4196041424-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-4196041424-line-7)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5 KiB |
87
docs/images/cli_help/cz_init___help.svg
Normal file
|
@ -0,0 +1,87 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 245.2" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-1838121835-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-1838121835-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-1838121835-r1 { fill: #c5c8c6 }
|
||||
.terminal-1838121835-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-1838121835-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="194.2" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1838121835-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1838121835-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1838121835-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1838121835-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1838121835-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1838121835-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1838121835-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="243.2" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-1838121835-clip-terminal)">
|
||||
|
||||
<g class="terminal-1838121835-matrix">
|
||||
<text class="terminal-1838121835-r1" x="0" y="20" textLength="195.2" clip-path="url(#terminal-1838121835-line-0)">$ cz init --help</text><text class="terminal-1838121835-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-1838121835-line-0)">
|
||||
</text><text class="terminal-1838121835-r1" x="0" y="44.4" textLength="183" clip-path="url(#terminal-1838121835-line-1)">usage: cz init </text><text class="terminal-1838121835-r2" x="183" y="44.4" textLength="12.2" clip-path="url(#terminal-1838121835-line-1)">[</text><text class="terminal-1838121835-r1" x="195.2" y="44.4" textLength="24.4" clip-path="url(#terminal-1838121835-line-1)">-h</text><text class="terminal-1838121835-r2" x="219.6" y="44.4" textLength="12.2" clip-path="url(#terminal-1838121835-line-1)">]</text><text class="terminal-1838121835-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-1838121835-line-1)">
|
||||
</text><text class="terminal-1838121835-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-1838121835-line-2)">
|
||||
</text><text class="terminal-1838121835-r1" x="0" y="93.2" textLength="353.8" clip-path="url(#terminal-1838121835-line-3)">init commitizen configuration</text><text class="terminal-1838121835-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-1838121835-line-3)">
|
||||
</text><text class="terminal-1838121835-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-1838121835-line-4)">
|
||||
</text><text class="terminal-1838121835-r1" x="0" y="142" textLength="97.6" clip-path="url(#terminal-1838121835-line-5)">options:</text><text class="terminal-1838121835-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-1838121835-line-5)">
|
||||
</text><text class="terminal-1838121835-r1" x="0" y="166.4" textLength="549" clip-path="url(#terminal-1838121835-line-6)">  -h, --help  show this help message and exit</text><text class="terminal-1838121835-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-1838121835-line-6)">
|
||||
</text><text class="terminal-1838121835-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-1838121835-line-7)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5 KiB |
87
docs/images/cli_help/cz_ls___help.svg
Normal file
|
@ -0,0 +1,87 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 245.2" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-589791338-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-589791338-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-589791338-r1 { fill: #c5c8c6 }
|
||||
.terminal-589791338-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-589791338-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="194.2" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-589791338-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-589791338-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-589791338-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-589791338-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-589791338-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-589791338-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-589791338-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="243.2" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-589791338-clip-terminal)">
|
||||
|
||||
<g class="terminal-589791338-matrix">
|
||||
<text class="terminal-589791338-r1" x="0" y="20" textLength="170.8" clip-path="url(#terminal-589791338-line-0)">$ cz ls --help</text><text class="terminal-589791338-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-589791338-line-0)">
|
||||
</text><text class="terminal-589791338-r1" x="0" y="44.4" textLength="158.6" clip-path="url(#terminal-589791338-line-1)">usage: cz ls </text><text class="terminal-589791338-r2" x="158.6" y="44.4" textLength="12.2" clip-path="url(#terminal-589791338-line-1)">[</text><text class="terminal-589791338-r1" x="170.8" y="44.4" textLength="24.4" clip-path="url(#terminal-589791338-line-1)">-h</text><text class="terminal-589791338-r2" x="195.2" y="44.4" textLength="12.2" clip-path="url(#terminal-589791338-line-1)">]</text><text class="terminal-589791338-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-589791338-line-1)">
|
||||
</text><text class="terminal-589791338-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-589791338-line-2)">
|
||||
</text><text class="terminal-589791338-r1" x="0" y="93.2" textLength="317.2" clip-path="url(#terminal-589791338-line-3)">show available commitizens</text><text class="terminal-589791338-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-589791338-line-3)">
|
||||
</text><text class="terminal-589791338-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-589791338-line-4)">
|
||||
</text><text class="terminal-589791338-r1" x="0" y="142" textLength="97.6" clip-path="url(#terminal-589791338-line-5)">options:</text><text class="terminal-589791338-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-589791338-line-5)">
|
||||
</text><text class="terminal-589791338-r1" x="0" y="166.4" textLength="549" clip-path="url(#terminal-589791338-line-6)">  -h, --help  show this help message and exit</text><text class="terminal-589791338-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-589791338-line-6)">
|
||||
</text><text class="terminal-589791338-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-589791338-line-7)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.9 KiB |
87
docs/images/cli_help/cz_schema___help.svg
Normal file
|
@ -0,0 +1,87 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 245.2" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-1497071669-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-1497071669-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-1497071669-r1 { fill: #c5c8c6 }
|
||||
.terminal-1497071669-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-1497071669-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="194.2" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1497071669-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1497071669-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1497071669-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1497071669-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1497071669-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1497071669-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1497071669-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="243.2" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-1497071669-clip-terminal)">
|
||||
|
||||
<g class="terminal-1497071669-matrix">
|
||||
<text class="terminal-1497071669-r1" x="0" y="20" textLength="219.6" clip-path="url(#terminal-1497071669-line-0)">$ cz schema --help</text><text class="terminal-1497071669-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-1497071669-line-0)">
|
||||
</text><text class="terminal-1497071669-r1" x="0" y="44.4" textLength="207.4" clip-path="url(#terminal-1497071669-line-1)">usage: cz schema </text><text class="terminal-1497071669-r2" x="207.4" y="44.4" textLength="12.2" clip-path="url(#terminal-1497071669-line-1)">[</text><text class="terminal-1497071669-r1" x="219.6" y="44.4" textLength="24.4" clip-path="url(#terminal-1497071669-line-1)">-h</text><text class="terminal-1497071669-r2" x="244" y="44.4" textLength="12.2" clip-path="url(#terminal-1497071669-line-1)">]</text><text class="terminal-1497071669-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-1497071669-line-1)">
|
||||
</text><text class="terminal-1497071669-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-1497071669-line-2)">
|
||||
</text><text class="terminal-1497071669-r1" x="0" y="93.2" textLength="219.6" clip-path="url(#terminal-1497071669-line-3)">show commit schema</text><text class="terminal-1497071669-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-1497071669-line-3)">
|
||||
</text><text class="terminal-1497071669-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-1497071669-line-4)">
|
||||
</text><text class="terminal-1497071669-r1" x="0" y="142" textLength="97.6" clip-path="url(#terminal-1497071669-line-5)">options:</text><text class="terminal-1497071669-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-1497071669-line-5)">
|
||||
</text><text class="terminal-1497071669-r1" x="0" y="166.4" textLength="549" clip-path="url(#terminal-1497071669-line-6)">  -h, --help  show this help message and exit</text><text class="terminal-1497071669-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-1497071669-line-6)">
|
||||
</text><text class="terminal-1497071669-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-1497071669-line-7)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5 KiB |
111
docs/images/cli_help/cz_version___help.svg
Normal file
|
@ -0,0 +1,111 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 994 391.59999999999997" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-4023877003-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-4023877003-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-4023877003-r1 { fill: #c5c8c6 }
|
||||
.terminal-4023877003-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-4023877003-clip-terminal">
|
||||
<rect x="0" y="0" width="975.0" height="340.59999999999997" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-0">
|
||||
<rect x="0" y="1.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-1">
|
||||
<rect x="0" y="25.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-2">
|
||||
<rect x="0" y="50.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-3">
|
||||
<rect x="0" y="74.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-4">
|
||||
<rect x="0" y="99.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-5">
|
||||
<rect x="0" y="123.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-6">
|
||||
<rect x="0" y="147.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-7">
|
||||
<rect x="0" y="172.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-8">
|
||||
<rect x="0" y="196.7" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-9">
|
||||
<rect x="0" y="221.1" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-10">
|
||||
<rect x="0" y="245.5" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-11">
|
||||
<rect x="0" y="269.9" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-4023877003-line-12">
|
||||
<rect x="0" y="294.3" width="976" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="389.6" rx="8"/>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-4023877003-clip-terminal)">
|
||||
|
||||
<g class="terminal-4023877003-matrix">
|
||||
<text class="terminal-4023877003-r1" x="0" y="20" textLength="231.8" clip-path="url(#terminal-4023877003-line-0)">$ cz version --help</text><text class="terminal-4023877003-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-4023877003-line-0)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="44.4" textLength="219.6" clip-path="url(#terminal-4023877003-line-1)">usage: cz version </text><text class="terminal-4023877003-r2" x="219.6" y="44.4" textLength="12.2" clip-path="url(#terminal-4023877003-line-1)">[</text><text class="terminal-4023877003-r1" x="231.8" y="44.4" textLength="24.4" clip-path="url(#terminal-4023877003-line-1)">-h</text><text class="terminal-4023877003-r2" x="256.2" y="44.4" textLength="12.2" clip-path="url(#terminal-4023877003-line-1)">]</text><text class="terminal-4023877003-r2" x="280.6" y="44.4" textLength="12.2" clip-path="url(#terminal-4023877003-line-1)">[</text><text class="terminal-4023877003-r1" x="292.8" y="44.4" textLength="207.4" clip-path="url(#terminal-4023877003-line-1)">-r | -p | -c | -v</text><text class="terminal-4023877003-r2" x="500.2" y="44.4" textLength="12.2" clip-path="url(#terminal-4023877003-line-1)">]</text><text class="terminal-4023877003-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-4023877003-line-1)">
|
||||
</text><text class="terminal-4023877003-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-4023877003-line-2)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="93.2" textLength="817.4" clip-path="url(#terminal-4023877003-line-3)">get the version of the installed commitizen or the current project </text><text class="terminal-4023877003-r2" x="817.4" y="93.2" textLength="12.2" clip-path="url(#terminal-4023877003-line-3)">(</text><text class="terminal-4023877003-r1" x="829.6" y="93.2" textLength="97.6" clip-path="url(#terminal-4023877003-line-3)">default:</text><text class="terminal-4023877003-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-4023877003-line-3)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="117.6" textLength="244" clip-path="url(#terminal-4023877003-line-4)">installed commitizen</text><text class="terminal-4023877003-r2" x="244" y="117.6" textLength="12.2" clip-path="url(#terminal-4023877003-line-4)">)</text><text class="terminal-4023877003-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-4023877003-line-4)">
|
||||
</text><text class="terminal-4023877003-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-4023877003-line-5)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="166.4" textLength="97.6" clip-path="url(#terminal-4023877003-line-6)">options:</text><text class="terminal-4023877003-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-4023877003-line-6)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="190.8" textLength="622.2" clip-path="url(#terminal-4023877003-line-7)">  -h, --help        show this help message and exit</text><text class="terminal-4023877003-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-4023877003-line-7)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="215.2" textLength="744.2" clip-path="url(#terminal-4023877003-line-8)">  -r, --report      get system information for reporting bugs</text><text class="terminal-4023877003-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-4023877003-line-8)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="239.6" textLength="707.6" clip-path="url(#terminal-4023877003-line-9)">  -p, --project     get the version of the current project</text><text class="terminal-4023877003-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-4023877003-line-9)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="264" textLength="768.6" clip-path="url(#terminal-4023877003-line-10)">  -c, --commitizen  get the version of the installed commitizen</text><text class="terminal-4023877003-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-4023877003-line-10)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="288.4" textLength="927.2" clip-path="url(#terminal-4023877003-line-11)">  -v, --verbose     get the version of both the installed commitizen and the</text><text class="terminal-4023877003-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-4023877003-line-11)">
|
||||
</text><text class="terminal-4023877003-r1" x="0" y="312.8" textLength="427" clip-path="url(#terminal-4023877003-line-12)">                    current project</text><text class="terminal-4023877003-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-4023877003-line-12)">
|
||||
</text><text class="terminal-4023877003-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-4023877003-line-13)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.8 KiB |
187
docs/images/commit.yml
Normal file
|
@ -0,0 +1,187 @@
|
|||
# The configurations that used for the recording, feel free to edit them
|
||||
config:
|
||||
|
||||
# Specify a command to be executed
|
||||
# like `/bin/bash -l`, `ls`, or any other commands
|
||||
# the default is bash for Linux
|
||||
# or powershell.exe for Windows
|
||||
command: bash -l
|
||||
|
||||
# Specify the current working directory path
|
||||
# the default is the current working directory path
|
||||
cwd: ~/my-project
|
||||
|
||||
# Export additional ENV variables
|
||||
env:
|
||||
recording: true
|
||||
|
||||
# Explicitly set the number of columns
|
||||
# or use `auto` to take the current
|
||||
# number of columns of your shell
|
||||
cols: 101
|
||||
|
||||
# Explicitly set the number of rows
|
||||
# or use `auto` to take the current
|
||||
# number of rows of your shell
|
||||
rows: 22
|
||||
|
||||
# Amount of times to repeat GIF
|
||||
# If value is -1, play once
|
||||
# If value is 0, loop indefinitely
|
||||
# If value is a positive number, loop n times
|
||||
repeat: 0
|
||||
|
||||
# Quality
|
||||
# 1 - 100
|
||||
quality: 85
|
||||
|
||||
# Delay between frames in ms
|
||||
# If the value is `auto` use the actual recording delays
|
||||
frameDelay: auto
|
||||
|
||||
# Maximum delay between frames in ms
|
||||
# Ignored if the `frameDelay` isn't set to `auto`
|
||||
# Set to `auto` to prevent limiting the max idle time
|
||||
maxIdleTime: 2000
|
||||
|
||||
# The surrounding frame box
|
||||
# The `type` can be null, window, floating, or solid`
|
||||
# To hide the title use the value null
|
||||
# Don't forget to add a backgroundColor style with a null as type
|
||||
frameBox:
|
||||
type: floating
|
||||
title: Commitizen
|
||||
style:
|
||||
border: 0px black solid
|
||||
# boxShadow: none
|
||||
# margin: 0px
|
||||
|
||||
# Add a watermark image to the rendered gif
|
||||
# You need to specify an absolute path for
|
||||
# the image on your machine or a URL, and you can also
|
||||
# add your own CSS styles
|
||||
watermark:
|
||||
imagePath: null
|
||||
style:
|
||||
position: absolute
|
||||
right: 15px
|
||||
bottom: 15px
|
||||
width: 100px
|
||||
opacity: 0.9
|
||||
|
||||
# Cursor style can be one of
|
||||
# `block`, `underline`, or `bar`
|
||||
cursorStyle: block
|
||||
|
||||
# Font family
|
||||
# You can use any font that is installed on your machine
|
||||
# in CSS-like syntax
|
||||
fontFamily: "Monaco, Lucida Console, Ubuntu Mono, Monospace"
|
||||
|
||||
# The size of the font
|
||||
fontSize: 12
|
||||
|
||||
# The height of lines
|
||||
lineHeight: 1
|
||||
|
||||
# The spacing between letters
|
||||
letterSpacing: 0
|
||||
|
||||
# Theme
|
||||
theme:
|
||||
background: "transparent"
|
||||
foreground: "#afafaf"
|
||||
cursor: "#c7c7c7"
|
||||
black: "#232628"
|
||||
red: "#fc4384"
|
||||
green: "#b3e33b"
|
||||
yellow: "#ffa727"
|
||||
blue: "#75dff2"
|
||||
magenta: "#ae89fe"
|
||||
cyan: "#708387"
|
||||
white: "#d5d5d0"
|
||||
brightBlack: "#626566"
|
||||
brightRed: "#ff7fac"
|
||||
brightGreen: "#c8ed71"
|
||||
brightYellow: "#ebdf86"
|
||||
brightBlue: "#75dff2"
|
||||
brightMagenta: "#ae89fe"
|
||||
brightCyan: "#b1c6ca"
|
||||
brightWhite: "#f9f9f4"
|
||||
|
||||
# Records, feel free to edit them
|
||||
records:
|
||||
- delay: 987
|
||||
content: "\e[1;33m\e[0;32m\e[1;34m\e[1;32msantiago\e[1;34m@\e[1;31mhome\e[1;37m in \e[1;34m~/my-project\e[0;36m |master #|\e[1;32m\r\r\n\e[1;32m$\e[00m "
|
||||
- delay: 731
|
||||
content: c
|
||||
- delay: 345
|
||||
content: z
|
||||
- delay: 135
|
||||
content: ' '
|
||||
- delay: 118
|
||||
content: c
|
||||
- delay: 116
|
||||
content: o
|
||||
- delay: 200
|
||||
content: m
|
||||
- delay: 135
|
||||
content: m
|
||||
- delay: 199
|
||||
content: i
|
||||
- delay: 406
|
||||
content: t
|
||||
- delay: 144
|
||||
content: "\r\n"
|
||||
- delay: 209
|
||||
content: "\e[?1l\e[6n"
|
||||
- delay: 7
|
||||
content: "\e[?2004h\e[?25l\e[0m\e[?7l\e[0m\e[J\e[0;38;5;67m?\e[0;1m Select the type of change you are committing \e[0m (Use arrow keys) \r\e[100C \e[0m\r\r\n\e[0m » fix: A bug fix. Correlates with PATCH in SemVer\e[0m\r\r\n\e[0m feat: A new feature. Correlates with MINOR in SemVer\e[0m\r\r\n\e[0m docs: Documentation only changes\e[0m\r\r\n\e[0m style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-\r\e[100Cc\e[0m\r\r\n\e[0m refactor: A code change that neither fixes a bug nor adds a feature\e[0m\r\r\n\e[0m perf: A code change that improves performance\e[0m\r\r\n\e[0m test: Adding missing or correcting existing tests\e[0m\r\r\n\e[0m build: Changes that affect the build system or external dependencies (example scopes: pip, docker\r\e[100C,\e[0m\r\r\n\e[0m ci: Changes to CI configuration files and scripts (example scopes: GitLabCI) \r\e[100C \r\e[9A\e[64C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 17
|
||||
content: "\e[?25l\e[?7l\e[0m\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\e[0m ci: Changes to CI configuration files and scripts (example scopes: GitLabCI)\e[0m\e[K\e[0m\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\e[0m \r\e[100C \r\e[19A\e[64C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 647
|
||||
content: "\e[?25l\e[?7l\e[0m\r\r\n\e[0m \e[0m\r\r\n\e[0m » \e[2A\e[61C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 574
|
||||
content: "\e[?25l\e[?7l\e[64D\e[0m\e[J\e[0;38;5;67m?\e[0;1m Select the type of change you are committing \e[0;38;5;214;1m feat: A new feature. Correlates with MINOR in SemVer\r\e[100C\e[0m \r\e[0m\r\r\n\e[J\e[?7h\e[0m\e[?12l\e[?25h\e[?2004l"
|
||||
- delay: 20
|
||||
content: "\e[?1l\e[6n\e[?2004h\e[?25l\e[0m\e[?7l\e[0m\e[J\e[0;38;5;67m?\e[0;1m Scope. Could be anything specifying place of the commit change (users, db, poll):\e[0m \r\e[100C \e[0m\r\r\n\e[0;1m \e[0m \r\e[100C \r\e[C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 11
|
||||
content: "\e[?25l\e[?7l\b\e[0;1m \e[0m \e[0m\e[K\e[0m\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\e[0m \r\e[100C \r\e[17A\e[C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 1388
|
||||
content: "\e[?25l\e[?7l\e[A\b\e[0m\e[J\e[0;38;5;67m?\e[0;1m Scope. Could be anything specifying place of the commit change (users, db, poll):\e[0m \r\e[100C \e[0m\r\r\n\e[0;1m \e[0m \r\e[100C \r\e[0m\r\r\n\e[J\e[?7h\e[0m\e[?12l\e[?25h\e[?2004l"
|
||||
- delay: 12
|
||||
content: "\e[?1l\e[6n"
|
||||
- delay: 5
|
||||
content: "\e[?2004h\e[?25l\e[0m\e[?7l\e[0m\e[J\e[0;38;5;67m?\e[0;1m Subject. Concise description of the changes. Imperative, lower case and no final dot:\e[0m \r\e[100C \e[0m\r\r\n\e[0;1m \e[0m \r\e[100C \r\e[C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 24
|
||||
content: "\e[?25l\e[?7l\b\e[0;1m \e[0m \e[0m\e[K\e[0m\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\e[0m \r\e[100C \r\e[15A\e[C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 925
|
||||
content: "\e[?25l\e[?7l\e[0mallow provided config object to extend other configs \b\e[?7h\e[0m\e[?12l\e[?25h\e[?25l\e[?7l\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 2880
|
||||
content: "\e[?25l\e[?7l\e[A\e[53D\e[0m\e[J\e[0;38;5;67m?\e[0;1m Subject. Concise description of the changes. Imperative, lower case and no final dot:\e[0m \r\e[100C \e[0m\r\r\n\e[0;1m \e[0mallow provided config object to extend other configs \r\e[100C \r\e[0m\r\r\n\e[J\e[?7h\e[0m\e[?12l\e[?25h\e[?2004l"
|
||||
- delay: 13
|
||||
content: "\e[?1l\e[6n\e[?2004h\e[?25l\e[0m\e[?7l\e[0m\e[J\e[0;38;5;67m?\e[0;1m Is this a BREAKING CHANGE? Correlates with MAJOR in SemVer \e[0m (y/N) \r\e[100C \r\e[67C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 19
|
||||
content: "\e[?25l\e[?7l\e[67D\e[0;38;5;67m?\e[0;1m Is this a BREAKING CHANGE? Correlates with MAJOR in SemVer \e[0m (y/N) \e[0m\e[K\e[0m\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\e[0m \r\e[100C \r\e[14A\e[67C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 1521
|
||||
content: "\e[?25l\e[?7l\e[67D\e[0m\e[J\e[0;38;5;67m?\e[0;1m Is this a BREAKING CHANGE? Correlates with MAJOR in SemVer \e[0;38;5;214;1m Yes\e[0m \r\e[100C \r\e[0m\r\r\n\e[J\e[?7h\e[0m\e[?12l\e[?25h\e[?2004l"
|
||||
- delay: 15
|
||||
content: "\e[?1l\e[6n\e[?2004h\e[?25l\e[0m\e[?7l\e[0m\e[J\e[0;38;5;67m?\e[0;1m Body. Motivation for the change and contrast this with previous behavior:\e[0m \r\e[100C \e[0m\r\r\n\e[0;1m \e[0m \r\e[100C \r\e[C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 16
|
||||
content: "\e[?25l\e[?7l\b\e[0;1m \e[0m \e[0m\e[K\e[0m\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\e[0m \r\e[100C \r\e[12A\e[C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 5659
|
||||
content: "\e[?25l\e[?7l\e[0mextends key in config file is now used for extending other config files \b\e[?7h\e[0m\e[?12l\e[?25h\e[?25l\e[?7l\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 647
|
||||
content: "\e[?25l\e[?7l\e[A\e[72D\e[0m\e[J\e[0;38;5;67m?\e[0;1m Body. Motivation for the change and contrast this with previous behavior:\e[0m \r\e[100C \e[0m\r\r\n\e[0;1m \e[0mextends key in config file is now used for extending other config files \r\e[100C \r\e[0m\r\r\n\e[J\e[?7h\e[0m\e[?12l\e[?25h\e[?2004l"
|
||||
- delay: 10
|
||||
content: "\e[?1l\e[6n"
|
||||
- delay: 5
|
||||
content: "\e[?2004h\e[?25l\e[0m\e[?7l\e[0m\e[J\e[0;38;5;67m?\e[0;1m Footer. Information about Breaking Changes and reference issues that this commit closes:\e[0m \r\e[100C \e[0m\r\r\n\e[0;1m \e[0m \r\e[100C \r\e[C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 22
|
||||
content: "\e[?25l\e[?7l\b\e[0;1m \e[0m \e[0m\e[K\e[0m\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\r\r\n\e[0m \r\e[100C \r\e[10A\e[C\e[?7h\e[0m\e[?12l\e[?25h"
|
||||
- delay: 1583
|
||||
content: "\e[?25l\e[?7l\e[A\b\e[0m\e[J\e[0;38;5;67m?\e[0;1m Footer. Information about Breaking Changes and reference issues that this commit closes:\e[0m \r\e[100C \e[0m\r\r\n\e[0;1m \e[0m \r\e[100C \r\e[0m\r\r\n\e[J\e[?7h\e[0m\e[?12l\e[?25h\e[?2004l"
|
||||
- delay: 6
|
||||
content: "[master (root-commit) 76d9660] feat: allow provided config object to extend other configs\r\n 1 file changed, 0 insertions(+), 0 deletions(-)\r\n create mode 100644 fil.py\r\n\r\n\e[32mCommit successful!\e[0m\r\n\e[0m"
|
||||
- delay: 102
|
||||
content: "\e[1;33m\e[0;32m\e[1;34m\e[1;32msantiago\e[1;34m@\e[1;31mhome\e[1;37m in \e[1;34m~/my-project\e[0;36m |master|\e[1;32m\r\r\n\e[1;32m$\e[00m "
|
BIN
docs/images/example.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
docs/images/gitlab_ci/gitlab_deploy_key.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
docs/images/gitlab_ci/gitlab_final_ci_result.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/images/gitlab_ci/gitlab_variables.png
Normal file
After Width: | Height: | Size: 86 KiB |
131
docs/third-party-commitizen.md
Normal file
|
@ -0,0 +1,131 @@
|
|||
## Third-Party Commitizen Templates
|
||||
|
||||
In addition to the native templates, some alternative commit format templates
|
||||
are available as PyPI packages (installable with `pip`).
|
||||
|
||||
### [Conventional JIRA](https://pypi.org/project/conventional-JIRA/)
|
||||
|
||||
Just like _conventional commit_ format, but the scope has been restricted to a
|
||||
JIRA issue format, i.e. `project-issueNumber`. This standardises scopes in a
|
||||
meaningful way.
|
||||
|
||||
#### Installation
|
||||
|
||||
```sh
|
||||
pip install conventional-JIRA
|
||||
```
|
||||
|
||||
### [GitHub JIRA Conventional](https://pypi.org/project/cz-github-jira-conventional/)
|
||||
|
||||
This plugin extends the commitizen tools by:
|
||||
|
||||
- requiring a JIRA issue id in the commit message
|
||||
- creating links to GitHub commits in the CHANGELOG.md
|
||||
- creating links to JIRA issues in the CHANGELOG.md
|
||||
|
||||
#### Installation
|
||||
|
||||
```sh
|
||||
pip install cz-github-jira-conventional
|
||||
```
|
||||
|
||||
For installation instructions (configuration and pre-commit) please visit [https://github.com/apheris/cz-github-jira-conventional](https://github.com/apheris/cz-github-jira-conventional)
|
||||
|
||||
### [cz-emoji](https://github.com/adam-grant-hendry/cz-emoji)
|
||||
|
||||
_conventional commit_ format, but with emojis
|
||||
|
||||
#### Installation
|
||||
|
||||
```sh
|
||||
pip install cz-emoji
|
||||
```
|
||||
|
||||
#### Usage
|
||||
|
||||
```sh
|
||||
cz --name cz_emoji commit
|
||||
```
|
||||
|
||||
### [cz-conventional-gitmoji](https://github.com/ljnsn/cz-conventional-gitmoji)
|
||||
|
||||
*conventional commit*s, but with [gitmojis](https://gitmoji.dev).
|
||||
|
||||
Includes a pre-commit hook that automatically adds the correct gitmoji to the commit message based on the conventional type.
|
||||
|
||||
#### Installation
|
||||
|
||||
```sh
|
||||
pip install cz-conventional-gitmoji
|
||||
```
|
||||
|
||||
#### Usage
|
||||
|
||||
```sh
|
||||
cz --name cz_gitmoji commit
|
||||
```
|
||||
|
||||
### [Commitizen emoji](https://pypi.org/project/commitizen-emoji/) (Unmaintained)
|
||||
|
||||
Just like _conventional commit_ format, but with emojis and optionally time spent and related tasks.
|
||||
|
||||
#### Installation
|
||||
|
||||
```sh
|
||||
pip install commitizen-emoji
|
||||
```
|
||||
|
||||
#### Usage
|
||||
|
||||
```sh
|
||||
cz --name cz_commitizen_emoji commit
|
||||
```
|
||||
|
||||
### [Conventional Legacy (cz_legacy)][1]
|
||||
|
||||
An extension of the _conventional commit_ format to include user-specified
|
||||
legacy change types in the `CHANGELOG` while preventing the legacy change types
|
||||
from being used in new commit messages
|
||||
|
||||
#### Installation
|
||||
|
||||
```sh
|
||||
pip install cz_legacy
|
||||
```
|
||||
|
||||
#### Usage
|
||||
|
||||
See the [README][1] for instructions on configuration
|
||||
|
||||
[1]: https://pypi.org/project/cz_legacy
|
||||
|
||||
## Third-Party Commitizen Providers
|
||||
|
||||
Commitizen can read and write version from different sources. In addition to the native providers, some alternative version sources are available as PyPI packages (installable with `pip`).
|
||||
|
||||
### [commitizen-deno-provider](https://pypi.org/project/commitizen-deno-provider/)
|
||||
|
||||
A provider for **Deno** projects. The provider updates the version in deno.json and jsr.json files.
|
||||
|
||||
#### Installation
|
||||
|
||||
```sh
|
||||
pip install commitizen-deno-provider
|
||||
```
|
||||
|
||||
#### Usage
|
||||
|
||||
Add `deno-provider` to your configuration file.
|
||||
|
||||
Example for `.cz.yaml`:
|
||||
|
||||
```yaml
|
||||
---
|
||||
commitizen:
|
||||
major_version_zero: true
|
||||
name: cz_conventional_commits
|
||||
tag_format: $version
|
||||
update_changelog_on_bump: true
|
||||
version_provider: deno-provider
|
||||
version_scheme: semver
|
||||
```
|
68
docs/tutorials/auto_check.md
Normal file
|
@ -0,0 +1,68 @@
|
|||
# Automatically check message before commit
|
||||
|
||||
## About
|
||||
|
||||
To automatically check a commit message prior to committing, you can use a [git hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks).
|
||||
|
||||
## How to
|
||||
|
||||
There are two common methods for installing the hook:
|
||||
|
||||
### Method 1: Add git hook through [pre-commit](https://pre-commit.com/)
|
||||
|
||||
- Step 1: Install [pre-commit](https://pre-commit.com/)
|
||||
|
||||
```sh
|
||||
python -m pip install pre-commit
|
||||
```
|
||||
|
||||
- Step 2: Create `.pre-commit-config.yaml` at your root directory with the following content
|
||||
|
||||
```yaml
|
||||
---
|
||||
repos:
|
||||
- repo: https://github.com/commitizen-tools/commitizen
|
||||
rev: v1.17.0
|
||||
hooks:
|
||||
- id: commitizen
|
||||
stages: [commit-msg]
|
||||
```
|
||||
|
||||
- Step 3: Install the configuration into git hook through `pre-commit`
|
||||
|
||||
```bash
|
||||
pre-commit install --hook-type commit-msg
|
||||
```
|
||||
|
||||
### Method 2: Manually add git hook
|
||||
|
||||
The command might be included inside of a Git hook (inside of `.git/hooks/` at the root of the project).
|
||||
|
||||
The selected hook might be the file called commit-msg.
|
||||
|
||||
This example shows how to use the check command inside of commit-msg.
|
||||
|
||||
At the root of the project:
|
||||
|
||||
```bash
|
||||
cd .git/hooks
|
||||
touch commit-msg
|
||||
chmod +x commit-msg
|
||||
```
|
||||
|
||||
Open the file and edit it:
|
||||
|
||||
```sh
|
||||
#!/bin/bash
|
||||
MSG_FILE=$1
|
||||
cz check --allow-abort --commit-msg-file $MSG_FILE
|
||||
```
|
||||
|
||||
Where `$1` is the name of the temporary file that contains the current commit message. To be more explicit, the previous variable is stored in another variable called `$MSG_FILE`, for didactic purposes.
|
||||
|
||||
The `--commit-msg-file` flag is required, not optional.
|
||||
|
||||
Each time you create a commit, automatically, this hook will analyze it.
|
||||
If the commit message is invalid, it'll be rejected.
|
||||
|
||||
The commit should follow the given committing rules; otherwise, it won't be accepted.
|
46
docs/tutorials/auto_prepare_commit_message.md
Normal file
|
@ -0,0 +1,46 @@
|
|||
# Automatically prepare message before commit
|
||||
|
||||
## About
|
||||
|
||||
It can be desirable to use commitizen for all types of commits (i.e. regular, merge,
|
||||
squash) so that the complete git history adheres to the commit message convention
|
||||
without ever having to call `cz commit`.
|
||||
|
||||
To automatically prepare a commit message prior to committing, you can
|
||||
use a [prepare-commit-msg Git hook][prepare-commit-msg-docs]:
|
||||
|
||||
> This hook is invoked by git-commit right after preparing the
|
||||
> default log message, and before the editor is started.
|
||||
|
||||
To automatically perform arbitrary cleanup steps after a successful commit you can use a
|
||||
[post-commit Git hook][post-commit-docs]:
|
||||
|
||||
> This hook is invoked by git-commit. It takes no parameters, and is invoked after a
|
||||
> commit is made.
|
||||
|
||||
A combination of these two hooks allows for enforcing the usage of commitizen so that
|
||||
whenever a commit is about to be created, commitizen is used for creating the commit
|
||||
message. Running `git commit` or `git commit -m "..."` for example, would trigger
|
||||
commitizen and use the generated commit message for the commit.
|
||||
|
||||
## Installation
|
||||
|
||||
Copy the hooks from [here](https://github.com/commitizen-tools/commitizen/tree/master/hooks) into the `.git/hooks` folder and make them
|
||||
executable by running the following commands from the root of your Git repository:
|
||||
|
||||
```bash
|
||||
wget -O .git/hooks/prepare-commit-msg https://raw.githubusercontent.com/commitizen-tools/commitizen/master/hooks/prepare-commit-msg.py
|
||||
chmod +x .git/hooks/prepare-commit-msg
|
||||
wget -O .git/hooks/post-commit https://raw.githubusercontent.com/commitizen-tools/commitizen/master/hooks/post-commit.py
|
||||
chmod +x .git/hooks/post-commit
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
- Commits can be created using both `cz commit` and the regular `git commit`
|
||||
- The hooks automatically create a backup of the commit message that can be reused if
|
||||
the commit failed
|
||||
- The commit message backup can also be used via `cz commit --retry`
|
||||
|
||||
[post-commit-docs]: https://git-scm.com/docs/githooks#_post_commit
|
||||
[prepare-commit-msg-docs]: https://git-scm.com/docs/githooks#_prepare_commit_msg
|
78
docs/tutorials/dev_releases.md
Normal file
|
@ -0,0 +1,78 @@
|
|||
# Dev Releases
|
||||
|
||||
## About
|
||||
|
||||
To make use of a `.dev` suffix, as per
|
||||
[PEP440](https://peps.python.org/pep-0440/#developmental-releases).
|
||||
|
||||
If more than one active branch attempts to create a tag, relative to the main
|
||||
branch, there is the possibility that each will attempt to create the _same_
|
||||
tag, resulting in a collision.
|
||||
|
||||
Developmental releases aim to avoid this by including a `.dev` segment which
|
||||
includes a non-negative integer unique to that workflow:
|
||||
|
||||
```txt
|
||||
X.Y.devN
|
||||
```
|
||||
|
||||
!!! note
|
||||
As noted in
|
||||
[PEP440](https://peps.python.org/pep-0440/#developmental-releases),
|
||||
although developmental releases are useful in avoiding the situation
|
||||
described above, depending on the value passed as the developmental
|
||||
release, they can be _"difficult to parse for human readers"_.
|
||||
|
||||
## How to
|
||||
|
||||
### Example 1: CircleCI
|
||||
|
||||
For example, CircleCI [provides](https://circleci.com/docs/variables/)
|
||||
`CIRCLE_BUILD_NUM`, a unique number for each job which will increment with each
|
||||
run:
|
||||
|
||||
```sh
|
||||
--devrelease ${CIRCLE_BUILD_NUM}
|
||||
```
|
||||
|
||||
This will result in a unique developmental release of, for example:
|
||||
|
||||
```sh
|
||||
1.3.2.dev2478
|
||||
```
|
||||
|
||||
### Example 2: GitHub
|
||||
|
||||
GitHub also
|
||||
[provides](https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables)
|
||||
`GITHUB_RUN_ID`, a _"unique number for each workflow run"_ which will also
|
||||
provide a unique number for each workflow:
|
||||
|
||||
```sh
|
||||
--devrelease ${GITHUB_RUN_ID}
|
||||
```
|
||||
|
||||
This will result in a unique developmental release of, for example:
|
||||
|
||||
```sh
|
||||
1.3.2.dev6048584598
|
||||
```
|
||||
|
||||
### Example 3: Unix time
|
||||
|
||||
Equally, as the developmental release needs only a non-negative integer, it is
|
||||
possible to use the Unix time (i.e. the number of seconds since 1st January
|
||||
1970 UTC).
|
||||
|
||||
This would create the possibility of a collision if two builds occur at
|
||||
precisely the same second but this may be sufficient for many cases:
|
||||
|
||||
```sh
|
||||
--devrelease $(date +%s)
|
||||
```
|
||||
|
||||
This will result in a unique developmental release of, for example:
|
||||
|
||||
```sh
|
||||
1.3.2.dev1696238452
|
||||
```
|
125
docs/tutorials/github_actions.md
Normal file
|
@ -0,0 +1,125 @@
|
|||
## Create a new release with Github Actions
|
||||
|
||||
### Automatic bumping of version
|
||||
|
||||
To execute `cz bump` in your CI, and push the new commit and
|
||||
the new tag, back to your master branch, we have to:
|
||||
|
||||
1. Create a personal access token. [Follow the instructions here](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line#creating-a-token). And copy the generated key
|
||||
2. Create a secret called `PERSONAL_ACCESS_TOKEN`, with the copied key, by going to your
|
||||
project repository and then `Settings > Secrets > Add new secret`.
|
||||
3. In your repository create a new file `.github/workflows/bumpversion.yml`
|
||||
with the following content.
|
||||
|
||||
!!! warning
|
||||
If you use `GITHUB_TOKEN` instead of `PERSONAL_ACCESS_TOKEN`, the job won't trigger another workflow. It's like using `[skip ci]` in other CI's.
|
||||
|
||||
```yaml
|
||||
name: Bump version
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
bump-version:
|
||||
if: "!startsWith(github.event.head_commit.message, 'bump:')"
|
||||
runs-on: ubuntu-latest
|
||||
name: "Bump version and create changelog with commitizen"
|
||||
steps:
|
||||
- name: Check out
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: "${{ secrets.PERSONAL_ACCESS_TOKEN }}"
|
||||
fetch-depth: 0
|
||||
- name: Create bump and changelog
|
||||
uses: commitizen-tools/commitizen-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
||||
```
|
||||
|
||||
Push to master and that's it.
|
||||
|
||||
### Creating a github release
|
||||
|
||||
You can modify the previous action.
|
||||
|
||||
Add the variable `changelog_increment_filename` in the `commitizen-action`, specifying
|
||||
where to output the content of the changelog for the newly created version.
|
||||
|
||||
And then add a step using a github action to create the release: `softprops/action-gh-release`
|
||||
|
||||
The commitizen action creates an env variable called `REVISION`, containing the
|
||||
newely created version.
|
||||
|
||||
```yaml
|
||||
- name: Create bump and changelog
|
||||
uses: commitizen-tools/commitizen-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
||||
changelog_increment_filename: body.md
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
body_path: "body.md"
|
||||
tag_name: ${{ env.REVISION }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
|
||||
### Publishing a python package
|
||||
|
||||
Once the new tag is created, triggering an automatic publish command would be desired.
|
||||
|
||||
In order to do so, the credential needs to be added with the information of our PyPI account.
|
||||
|
||||
Instead of using username and password, we suggest using [api token](https://pypi.org/help/#apitoken) generated from PyPI.
|
||||
|
||||
After generate api token, use the token as the PyPI password and `__token__` as the username.
|
||||
|
||||
Go to `Settings > Secrets > Add new secret` and add the secret: `PYPI_PASSWORD`.
|
||||
|
||||
Create a file in `.github/workflows/pythonpublish.yaml` with the following content:
|
||||
|
||||
```yaml
|
||||
name: Upload Python Package
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "*" # Will trigger for every tag, alternative: 'v*'
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: Install Poetry
|
||||
uses: snok/install-poetry@v1
|
||||
with:
|
||||
version: latest
|
||||
virtualenvs-in-project: true
|
||||
virtualenvs-create: true
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
poetry --version
|
||||
poetry install
|
||||
- name: Build and publish
|
||||
env:
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
|
||||
run: |
|
||||
./scripts/publish
|
||||
```
|
||||
|
||||
Notice that we are using poetry, and we are calling a bash script in `./scripts/publish`. You should configure the action, and the publish with your tools (twine, poetry, etc.). Check [commitizen example](https://github.com/commitizen-tools/commitizen/blob/master/scripts/publish)
|
||||
You can also use [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) to publish your package.
|
||||
|
||||
Push the changes and that's it.
|
113
docs/tutorials/gitlab_ci.md
Normal file
|
@ -0,0 +1,113 @@
|
|||
## Create a new release using GitLab CI
|
||||
|
||||
For this example, we have a `python/django` application and `Docker` as a containerization tool.
|
||||
|
||||
_Goal_: Bump a new version every time that a change occurs on the `master` branch. The bump should be executed automatically by the `CI` process.
|
||||
|
||||
### Development Workflow
|
||||
|
||||
1. A developer creates a new commit on any branch (except `master`)
|
||||
2. A developer creates a merge request (MR) against `master` branch
|
||||
3. When the `MR` is merged into master, the 2 stages of the CI are executed
|
||||
4. For simplification, we store the software version in a file called `VERSION`. You can use any file that you want as `commitizen` supports it.
|
||||
5. The commit message executed automatically by the `CI` must include `[skip-ci]` in the message; otherwise, the process will generate a loop. You can define the message structure in [commitizen](../commands/bump.md) as well.
|
||||
|
||||
### Gitlab Configuration
|
||||
|
||||
To be able to change files and push new changes with `Gitlab CI` runners, we need to have a `ssh` key and configure a git user.
|
||||
|
||||
First, let's create a `ssh key`. The only requirement is to create it without a passphrase:
|
||||
|
||||
```bash
|
||||
ssh-keygen -f deploy_key -N ""
|
||||
```
|
||||
|
||||
The previous command will create a private and public key under the files `deploy_key` and `deploy_key.pub`. We will use them later.
|
||||
|
||||
For the git user, we need an email and username. You can choose whatever you want; in this example, we choose `ci-runner@myproject.com` and `admin`, respectively.
|
||||
|
||||
Now, we need to create three environment variables that will be visible for the runners. They should be created in the `variables` section under `settings/ci_cd`:
|
||||
|
||||

|
||||
|
||||
Create `SSH_PRIVATE_KEY`, `CI_EMAIL`, `CI_USERNAME` variables, and fill them with the `private_key`, `email` and `username` that we have created previously.
|
||||
|
||||
The latest step is to create a `deploy key.` To do this, we should create it under the section `settings/repository` and fill it with the `public key` generated before. Check `Write access allowed`; otherwise, the runner won't be able to write the changes to the repository.
|
||||
|
||||

|
||||
|
||||
If you have more projects under the same organization, you can reuse the deploy key created before, but you will have to repeat the step where we have created the environment variables (ssh key, email, and username).
|
||||
|
||||
tip: If the CI raise some errors, try to unprotected the private key.
|
||||
|
||||
### Defining GitLab CI Pipeline
|
||||
|
||||
1. Create a `.gitlab-ci.yaml` file that contains `stages` and `jobs` configurations. You can find more info [here](https://docs.gitlab.com/ee/ci/quick_start/).
|
||||
|
||||
2. Define `stages` and `jobs`. For this example, we define two `stages` with one `job` each one.
|
||||
- Test the application.
|
||||
- Auto bump the version. This means changing the file/s that reflects the version, creating a new commit and git tag.
|
||||
|
||||
### Stages and Jobs
|
||||
|
||||
```yaml
|
||||
image: docker:latest
|
||||
|
||||
services:
|
||||
- docker:dind
|
||||
|
||||
variables:
|
||||
API_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
|
||||
|
||||
before_script:
|
||||
- apk add --no-cache py-pip
|
||||
- pip install docker-compose
|
||||
|
||||
stages:
|
||||
- test
|
||||
- auto-bump
|
||||
|
||||
test:
|
||||
stage: test
|
||||
script:
|
||||
- docker-compose run -e DJANGO_ENVIRONMENT=dev your_project python manage.py test # run tests
|
||||
|
||||
auto-bump:
|
||||
stage: auto-bump
|
||||
image: python:3.9
|
||||
before_script:
|
||||
- "which ssh-agent || ( apt-get update -qy && apt-get install openssh-client -qqy )"
|
||||
- eval `ssh-agent -s`
|
||||
- echo "${SSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null # add ssh key
|
||||
- pip3 install -U commitizen # install commitizen
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
- echo "$SSH_PUBLIC_KEY" >> ~/.ssh/id_rsa.pub
|
||||
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
|
||||
dependencies:
|
||||
- test
|
||||
script:
|
||||
- git remote set-url origin git@gitlab.com:discover/rentee-core.git # git configuration
|
||||
- git config --global user.email "${CI_EMAIL}" && git config --global user.name "${CI_USERNAME}"
|
||||
- 'exists=`git show-ref refs/heads/master` && if [ -n "$exists" ]; then git branch -D master; fi'
|
||||
- git checkout -b master
|
||||
- cz bump --yes # execute auto bump and push to master
|
||||
- git push origin master:$CI_COMMIT_REF_NAME
|
||||
- TAG=$(head -n 1 VERSION) # get the new software version and save into artifacts
|
||||
- echo "#!/bin/sh" >> variables
|
||||
- echo "export TAG='$TAG'" >> variables
|
||||
- git push origin $TAG
|
||||
only:
|
||||
refs:
|
||||
- master
|
||||
artifacts:
|
||||
paths:
|
||||
- variables
|
||||
```
|
||||
|
||||
So, every time that a developer push to any branch, the `test` job is executed. If the branch is `master` and the test jobs success, the `auto-bump` takes place.
|
||||
To be able to push using the Gitlab runner, we have to set the ssh key, configure git, and finally execute the auto bump.
|
||||
|
||||
After merging the new changed into master, we have the final result:
|
||||
|
||||

|
53
docs/tutorials/jenkins_pipeline.md
Normal file
|
@ -0,0 +1,53 @@
|
|||
# Create a new release with Jenkins Pipelines
|
||||
|
||||
For this we are using the modern approach of [declarative pipelines](https://www.jenkins.io/doc/book/pipeline/).
|
||||
|
||||
You must also ensure your jenkins instance supports docker.
|
||||
Most modern jenkins systems do have support for it, [they have embraced it](https://www.jenkins.io/doc/book/pipeline/docker/).
|
||||
|
||||
```groovy
|
||||
pipeline {
|
||||
agent {
|
||||
any
|
||||
}
|
||||
environment {
|
||||
CI = 'true'
|
||||
}
|
||||
stages {
|
||||
stage('Bump version') {
|
||||
when {
|
||||
beforeAgent true
|
||||
expression { env.BRANCH_IS_PRIMARY }
|
||||
not {
|
||||
changelog '^bump:.+'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
useCz {
|
||||
sh "cz bump --changelog"
|
||||
}
|
||||
// Here push back to your repository the new commit and tag
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def useCz(String authorName = 'Jenkins CI Server', String authorEmail = 'your-jenkins@email.com', String image = 'registry.hub.docker.com/commitizen/commitizen:latest', Closure body) {
|
||||
docker
|
||||
.image(image)
|
||||
.inside("-u 0 -v $WORKSPACE:/workspace -w /workspace -e GIT_AUTHOR_NAME='${authorName}' -e GIT_AUTHOR_EMAIL='${authorEmail}' -entrypoint='/bin/sh'") {
|
||||
sh 'git config --global --add safe.directory "*"'
|
||||
sh "git config --global user.email '${authorName}'"
|
||||
sh "git config --global user.name '${authorEmail}'"
|
||||
body()
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
!!! warning
|
||||
Using jenkins pipeline with any git plugin may require many different configurations,
|
||||
you'll have to tinker with it until your pipelines properly detects git events. Check your
|
||||
webhook in your git repository and check the "behaviors" and "build strategies" in
|
||||
your pipeline settings.
|
81
docs/tutorials/monorepo_guidance.md
Normal file
|
@ -0,0 +1,81 @@
|
|||
# Configuring commitizen in a monorepo
|
||||
|
||||
This tutorial assumes the monorepo layout is designed with multiple components that can be released independently of each
|
||||
other, it also assumes that conventional commits with scopes are in use. Some suggested layouts:
|
||||
|
||||
```shell-session
|
||||
.
|
||||
├── library-b
|
||||
│ └── .cz.toml
|
||||
└── library-z
|
||||
└── .cz.toml
|
||||
```
|
||||
|
||||
```shell-session
|
||||
src
|
||||
├── library-b
|
||||
│ └── .cz.toml
|
||||
└── library-z
|
||||
└── .cz.toml
|
||||
```
|
||||
|
||||
Sample `.cz.toml` for each component:
|
||||
|
||||
```toml
|
||||
# library-b/.cz.toml
|
||||
[tool.commitizen]
|
||||
name = "cz_customize"
|
||||
version = "0.0.0"
|
||||
tag_format = "${version}-library-b" # the component name can be a prefix or suffix with or without a separator
|
||||
ignored_tag_formats = ["${version}-library-*"] # Avoid noise from other tags
|
||||
update_changelog_on_bump = true
|
||||
```
|
||||
|
||||
```toml
|
||||
# library-z/.cz.toml
|
||||
[tool.commitizen]
|
||||
name = "cz_customize"
|
||||
version = "0.0.0"
|
||||
tag_format = "${version}-library-z"
|
||||
ignored_tag_formats = ["${version}-library-*"] # Avoid noise from other tags
|
||||
update_changelog_on_bump = true
|
||||
```
|
||||
|
||||
And finally, to bump each of these:
|
||||
|
||||
```sh
|
||||
cz --config library-b/.cz.toml bump --yes
|
||||
cz --config library-z/.cz.toml bump --yes
|
||||
```
|
||||
|
||||
|
||||
## Changelog per component
|
||||
|
||||
In order to filter the correct commits for each component, you'll have to come up with a strategy.
|
||||
|
||||
For example:
|
||||
|
||||
- Trigger the pipeline based on the changed path, which can have some downsides, as you'll rely on the developer not including files from other files
|
||||
- [github actions](https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore) uses `path`
|
||||
- [Jenkins](https://www.jenkins.io/doc/book/pipeline/syntax/#built-in-conditions) uses `changeset`
|
||||
- [Gitlab](https://docs.gitlab.com/ee/ci/yaml/#ruleschanges) uses `rules:changes`
|
||||
- Filter certain pattern of the commit message (recommended)
|
||||
|
||||
|
||||
### Example with scope in conventional commits
|
||||
|
||||
For this example, to include the message in the changelog, we will require commits to use a specific scope.
|
||||
This way, only relevant commits will be included in the appropriate change log for a given component, and any other commit will be ignored.
|
||||
|
||||
Example config and commit for `library-b`:
|
||||
|
||||
```toml
|
||||
[tool.commitizen.customize]
|
||||
changelog_pattern = "^(feat|fix)\\(library-b\\)(!)?:" #the pattern on types can be a wild card or any types you wish to include
|
||||
```
|
||||
|
||||
A commit message looking like this, would be included:
|
||||
|
||||
```
|
||||
fix:(library-b) Some awesome message
|
||||
```
|
101
docs/tutorials/tag_format.md
Normal file
|
@ -0,0 +1,101 @@
|
|||
# Managing tag formats
|
||||
|
||||
## Tag format and version scheme
|
||||
|
||||
For most projects, the tag format is simply the version number which is set like this:
|
||||
|
||||
```yaml
|
||||
[tool.commitizen]
|
||||
tag_format: $version
|
||||
version_scheme: pep440
|
||||
```
|
||||
|
||||
As this is the default value so you don't have to specify it.
|
||||
|
||||
This setting means that:
|
||||
|
||||
- The tag generated on bump will have this format: `1.0.0` :
|
||||
- the version is generated following PEP440 scheme
|
||||
- the tag is exactly the generated version
|
||||
- All tags having this format will be recognized as version tag when:
|
||||
- searching the last while bumping a release
|
||||
- searching previous versions while:
|
||||
- generating incremental changelog
|
||||
- generating a changelog for a version range
|
||||
- The changelog versions (section titles) will have this format
|
||||
- The `scm` version provider will identify the current version using this tag format
|
||||
|
||||
The version format will change depending on your configured version scheme.
|
||||
For most, it will only impact pre-releases and [developmental releases](dev_releases.md) formats (i.e. `1.0.0-rc.1` vs. `1.0.0.rc1`)
|
||||
|
||||
But you may need a different tagging convention, let's say using `semver` and prefixed with a `v`.
|
||||
In this case you will define your settings like this:
|
||||
|
||||
```yaml
|
||||
[tool.commitizen]
|
||||
tag_format: v${version}
|
||||
version_scheme: semver
|
||||
```
|
||||
|
||||
As a result, the tag generated on bump will have this format: `v1.0.0` and the version will be generated following `semver` scheme.
|
||||
|
||||
!!! note
|
||||
Both `$version` and `${version}` syntaxes are strictly equivalent. You can use the one you prefer.
|
||||
|
||||
See [the `version_scheme` section in `bump` command documentation](../commands/bump.md#version_scheme) for more details on version schemes and how to define your own.
|
||||
See [`tag_format`](../config.md#tag_format) and [`version_scheme`](../config.md#version_scheme) settings in [Configuration reference](../config.md) for more details on these settings.
|
||||
|
||||
## Changing convention
|
||||
|
||||
Now, let's say you need to change the tag format for some reason (company convention, [migration to a monorepo](monorepo_guidance.md)...).
|
||||
You will obviously want to keep all those features working as expected.
|
||||
|
||||
Commitizen can deal with it as long as you provide the legacy tag format in the configuration.
|
||||
|
||||
Using the previous example, let say you want to move from `v${version}` to `component-${version}`.
|
||||
Then `component-${version}` will be the new tag format and `v${version}` the legacy one.
|
||||
|
||||
```yaml
|
||||
[tool.commitizen]
|
||||
tag_format: component-${version}
|
||||
legacy_tag_formats:
|
||||
- v${version}
|
||||
```
|
||||
|
||||
This way, you won't loose your version history, you'll still be able to generate you changelog properly
|
||||
and on the next version bump, your last version in the form `v${version}` will be properly recognizef if you use the `scm` version provider.
|
||||
Your new tag will be in the form `component-${version}`.
|
||||
|
||||
## Known tags to ignore
|
||||
|
||||
Now let's say you have some known tags you want to ignore, either because they are not versions, either because they are not versions of the component you are dealing with.
|
||||
As a consequence, you don't want them to trigger a warning because Commitizen detected an unknown tag format:
|
||||
|
||||
Then you can tell Commitizen about it using the [`ignored_tag_formats`](../config.md#ignored_tag_formats) setting:
|
||||
|
||||
```yaml
|
||||
[tool.commitizen]
|
||||
ignored_tag_formats:
|
||||
- prod
|
||||
- other-component-${version}
|
||||
- prefix-*
|
||||
```
|
||||
|
||||
This will ignore:
|
||||
|
||||
- The `prod` tag
|
||||
- Any version tag prefixed with `other-component-`
|
||||
- Any tag prefixed with `prefix-`
|
||||
|
||||
|
||||
!!! tip
|
||||
Note the `*` in the `prefix-*` pattern. This is a wildcard and only exists for `ignored_tag_formats`.
|
||||
It will match any string from any length. This allows to exclude by prefix, whether it is followed by a version or not.
|
||||
|
||||
!!! tip
|
||||
If you don't want to be warned when Commitizen detect an unknown tag, you can by setting:
|
||||
```
|
||||
[tool.commitizen]
|
||||
ignored_tag_formats = ["*"]
|
||||
```
|
||||
But be aware that you will not be warned if you have a typo in your tag formats.
|
46
docs/tutorials/writing_commits.md
Normal file
|
@ -0,0 +1,46 @@
|
|||
For this project to work well in your pipeline, a commit convention must be followed.
|
||||
|
||||
By default commitizen uses the known [conventional commits][conventional_commits], but
|
||||
you can create your own following the docs information over at
|
||||
[customization][customization].
|
||||
|
||||
## Conventional commits
|
||||
|
||||
If you are using [conventional commits][conventional_commits], the most important
|
||||
thing to know is that you must begin your commits with at least one of these tags:
|
||||
`fix`, `feat`. And if you introduce a breaking change, then, you must
|
||||
add to your commit body the following `BREAKING CHANGE`.
|
||||
Using these 3 keywords will allow the proper identification of the semantic version.
|
||||
Of course, there are other keywords, but I'll leave it to the reader to explore them.
|
||||
|
||||
## Writing commits
|
||||
|
||||
Now to the important part, when writing commits, it's important to think about:
|
||||
|
||||
- Your future self
|
||||
- Your colleagues
|
||||
|
||||
You may think this is trivial, but it's not. It's important for the reader to
|
||||
understand what happened.
|
||||
|
||||
Emojis may be added as well (e.g. see [cz-emoji][cz_emoji]), which requires the `utf-8`, or equivalent, character encoding to support unicode characters. By default, `commitizen` uses the `utf-8` character encoding, but a different encoding may be set through the `encoding` [configuration option][configuration].
|
||||
|
||||
### Recommendations
|
||||
|
||||
- **Keep the message short**: Makes the list of commits more readable (~50 chars).
|
||||
- **Talk imperative**: Follow this rule: `If applied, this commit will <commit message>`
|
||||
- **Think about the CHANGELOG**: Your commits will probably end up in the changelog
|
||||
so try writing for it, but also keep in mind that you can skip sending commits to the
|
||||
CHANGELOG by using different keywords (like `build`).
|
||||
- **Use a commit per new feature**: if you introduce multiple things related to the same
|
||||
commit, squash them. This is useful for auto-generating CHANGELOG.
|
||||
|
||||
| Do's | Don'ts |
|
||||
| ---- | ------ |
|
||||
| `fix(commands): bump error when no user provided` | `fix: stuff` |
|
||||
| `feat: add new commit command` | `feat: commit command introduced` |
|
||||
|
||||
[customization]: ../customization.md
|
||||
[conventional_commits]: https://www.conventionalcommits.org
|
||||
[cz_emoji]: https://commitizen-tools.github.io/commitizen/third-party-commitizen/#cz-emoji
|
||||
[configuration]: ../config.md#encoding
|