A Commitizen-like Git commit utility written in Go. Used for standardizing commit messages.
Compared to cz-cli
- 👍 Starts significantly faster
- 👍 Doesn't require NPM
- 👍 Supports multiline bodies
- 👍 Configurable without NPM or JavaScript
- 👎 Not as configurable
- 👎 Isn't compatible with the full commitizen toolset
Download and extract the appropriate binary for your platform from the releases page. Then run:
./go-mitizen --install
Download repository via Git or as a Zip. Then run:
go build
./go-mitizen --install
git cz [--install] [--version] [--log] [--dry]--install: Install the application to be runnable via git cz.
--version: Print the application's version
--log: Write log messages to the logs.txt file in the working directory for debugging.
--dry: Print the commit message without performing a commit (useful for debugging)
A configuration file will be looked for at config.gz.json in the root of the current repository. If this is not found then a global config will be looked for at ~/config.gz.json. If both files exist, only the first one found will be used.
The format of the config is simply:
{
"<property>": "<new value>",
...
}
Any property not specified will resort to its default.
- Type:
boolean - Default:
true - Description: Convert all characters in the subject to lowercase.
- Type:
boolean - Default:
true - Description: Convert all characters in the scope to lowercase.
- Type:
boolean - Default:
true - Description: Whether to remove any blank lines in the body of the commit (might be necessary for compatibility with other commitizen tools).
- Type:
int - Default:
100 - Description: The number of characters allowed in the header of the commit. The utility will not allow the user to submit a header greater than this length.
- Type:
int - Default:
100 - Description: The number of characters to allow in each line of the body and footer (length of header is set with MaxHeaderLength). Lines exceeding this length will be wrapped.
- Type: Array of
{"name" : <string>, "description": <string>}objects - Default: See the code
- Description: The types of commits that can be made.
