A git commit message generator for standardizing our commit msg
Checkout the project and run make install
, the following output below indicates install successfully:
...
Git SubCommand installed successfully, run with "git cz".
git cz
just preview your commit msg without actually commit it
git cz --dry-run
Usage:
commitizen [flags]
commitizen [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
install install git-cz command
version print tool version
Flags:
--dry-run preview result
-h, --help help for commitizen
Use "commitizen [command] --help" for more information about a command.
You can customize your commit configuration to project root path or user home directory with json file .git-czrc which format like below:
{
"items": [
{
"name": "type",
"desc": "Select the type of change that you're committing:",
"form": "select",
"options": [
{ "name": "feat", "desc": "A new feature" },
{ "name": "fix", "desc": "A bug fix" },
{ "name": "docs", "desc": "Documentation only changes" },
{
"name": "style",
"desc":
"Changes that do not affect the meaning of the code(white-space, formatting, missing semi-colons, etc)"
},
{
"name": "refactor",
"desc": "A code change that neither fixes a bug nor adds a feature"
},
{
"name": "perf",
"desc": "A code change that improves performance"
},
{ "name": "test", "desc": "Adding missing tests" },
{
"name": "chore",
"desc":
"Changes to the build process or auxiliary tools and libraries such as documentation generation"
},
{ "name": "revert", "desc": "Revert to a commit" },
{ "name": "WIP", "desc": "Work in progress" }
],
"required": true
},
{
"name": "scope",
"desc": "Scope. Could be anything specifying place of the commit change (users, db, poll):",
"form": "input"
},
{
"name": "subject",
"desc": "Subject. Concise description of the changes. Imperative, lower case and no final dot:",
"form": "input",
"required": true
},
{
"name": "body",
"desc": "Body. Motivation for the change and contrast this with previous behavior:",
"form": "multiline"
},
{
"name": "footer",
"desc": "Footer. Information about Breaking Changes and reference issues that this commit closes:",
"form": "multiline"
}
],
"template": "{{.type}}{{with .scope}}({{.}}){{end}}: {{.subject}}{{with .body}}\n\n{{.}}{{end}}{{with .footer}}\n\n{{.}}{{end}}"
}