Crates.io | git-cz |
lib.rs | git-cz |
version | 0.7.2 |
source | src |
created_at | 2021-01-19 06:01:10.631007 |
updated_at | 2021-04-06 18:43:27.801416 |
description | Git conventional commit tools written in Rust |
homepage | https://git-cz.github.io |
repository | https://github.com/ttys3/git-cz.git |
max_upload_size | |
id | 343827 |
size | 125,470 |
git-cz
is short for git-commitizen
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.cargo install --git https://github.com/ttys3/git-cz.git
download and put git-cz
to your PATH
env
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
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.
When --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 --major
, --minor
or --patch
to overrule the convention.
git-cz version --bump
It is useful to use it with release tools, such as cargo-release
:
cargo release $(git-cz version --bump)
automatic notes for breaking changes
custom template folder
use a .versionrc
file
limit to a range of versions
sort sections in changelog
issue references
better documentation
better error handling
https://www.conventionalcommits.org/en/v1.0.0/
https://github.com/commitizen/conventional-commit-types/blob/master/index.json
https://github.com/commitizen/cz-cli