# git-commit plugin The git-commit plugin adds several [git aliases](https://www.git-scm.com/docs/git-config#Documentation/git-config.txt-alias) for [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/#summary) messages. To use it, add `git-commit` to the plugins array in your zshrc file: ```zsh plugins=(... git-commit) ``` ## Syntax ```zsh git [(-s, --scope) ""] "" git [(-a, --attention)] "" git [(-s, --scope) ""] [(-a, --attention)] "" git [(-sa, -as)] "" "" "" ``` > ⚠️ Single/Double quotes around the scope and message are required Where `type` is one of the following: - `build` - `chore` - `ci` - `docs` - `feat` - `fix` - `perf` - `refactor` - `rev` - `style` - `test` - `wip` > NOTE: the alias for `revert` type is `rev`, as otherwise it conflicts with the git command of the same name. > It will still generate a commit message in the format `revert: ` ## Examples | Git alias | Command | | --------------------------------------------- | ---------------------------------------------------- | | `git style "remove trailing whitespace"` | `git commit -m "style: remove trailing whitespace"` | | `git wip -a "work in progress"` | `git commit -m "wip!: work in progress"` | | `git fix -s "router" "correct redirect link"` | `git commit -m "fix(router): correct redirect link"` | | `git rev -a -s "api" "rollback v2"` | `git commit -m "revert(api)!: rollback v2"` | ## Conventional Commits List | Type | Name | Description | | -------- | ------------------------ | ------------------------------------------------------------------------------------------------------ | | build | Builds | Change that affect the build system or external dependencies (exemple scopes: composer and/or npm) | | chore | Chores | Other changes that don't modify src or test files | | ci | Continuous Integrations | Changes to our CI configuration files and scripts | | docs | Documantation | Documentation onyl changes | | feat | Features | A new feature | | fix | Bug Fixes | A bug fix | | perf | Performance Improvements | A code change that improves performance | | refactor | Code Refactoring | A code change tha neither fixes a bug nor adds a feature | | rev | Reverts | Reverts a previous commit | | style | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | | test | Tests | Adding missing tests or correcting existing tests | ## Extras | Type | Name | Description | | ----- | ---------------- | --------------------------------------------------------------------------------- | | wip | Work In Progress | Denote commits that are still in progress and not ready for integration or review |