3 unstable releases
|0.7.2||Apr 6, 2021|
|0.4.4||Jan 23, 2021|
|0.4.3||Jan 19, 2021|
#251 in Build Utils
git-cz is short for
A Conventional commit cli.
git-cz gives tools to work with Conventional Commits.
The tool is still in early development. It provides already the following commands:
git-cz changelog: Create a changelog file.
git-cz check: Checks if a range of commits is following the convention.
git-cz commit: Helps to make conventional commits.
git-cz version: Finds out the current or next version.
build from sourceo
cargo install --git https://github.com/ttys3/git-cz.git
download pre-build binary
download and put
git-cz to your
recommand Git alias:
# use "git cc" for quick commit git config --global alias.cc 'cz commit' git config --global alias.ck 'cz check' git config --global alias.cl 'cz changelog' git config --global alias.cv 'cz version'
# build the git-cz image docker build -t git-cz . # run it on any codebase docker run -v "$PWD:/tmp" --workdir /tmp --rm git-cz
Use it in .gitlab-ci.yml
If you've created an image and pushed it into your private registry
git-cz:check: stage: test image: name: 80x86/git-cz:latest script: - check
A changelog can be generated using the conventional commits. It is inspired by conventional changelog. Configuration follows the conventional-changelog-config-spec
git-cz changelog > CHANGELOG.md
Check a range of revisions for compliance.
It returns a non zero exit code if some commits are not conventional. This is useful in a pre-push hook.
git-cz check $remote_sha..$local_sha
Helps to make conventional commits. A scope, description, body, breaking change and issues will be prompted.
# commit a new feature and then run git commit with the interactive patch switch git-cz commit --feat -- --patch
When no options are given it will return the current version.
--bump is provided, the next version will be printed out.
Conventional commits are used to calculate the next major, minor or patch.
If needed one can provide
--patch to overrule the convention.
git-cz version --bump
It is useful to use it with release tools, such as
cargo release $(git-cz version --bump)
- automatic notes for breaking changes
- custom template folder
- use a
- limit to a range of versions
- sort sections in changelog
- issue references
- better documentation
- better error handling