ohmyzsh/plugins/git-commit/README.md

69 lines
3.8 KiB
Markdown

# 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 <type> [(-s, --scope) "<scope>"] "<message>"
git <type> [(-a, --attention)] "<message>"
git <type> [(-s, --scope) "<scope>"] [(-a, --attention)] "<message>"
git <type> [(-sa, -as)] "<scope>" "<message>" "<message>"
```
> ⚠️ 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: <message>`
## 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 |