портирован код из старого репозитория https://di9.ru/git/Voomra/Conventional-Commits
52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
# Commit-lint tool
|
||
|
||
Программа на Go для проверки описаний коммитов на соответствие [соглашению о коммитах](https://di9.ru/git/Conventional-Commits/specification/src/branch/master/CONVENTIONAL_COMMITS.MD).
|
||
|
||
## Использование
|
||
|
||
Добавить git hook `commit-msg`:
|
||
|
||
```shell
|
||
#!/usr/bin/env sh
|
||
commitlint -commitMessage="$1" -config="commitlint.json"
|
||
```
|
||
|
||
| Параметр | Описание | По-умолчанию |
|
||
|:-----------------|:--------------------------------|-----------------------|
|
||
| `-commitMessage` | Путь до файла сообщения коммита | `.git/COMMIT_EDITMSG` |
|
||
| `-config` | Путь до файла настроек | `commitlint.json` |
|
||
|
||
### Настройка
|
||
|
||
Настройка по-умолчанию считывается из файла `commitlint.json`, который находится в корне репозитория
|
||
|
||
```json
|
||
{
|
||
"types": [ "build", "docs", "pref", "refac", "revert", "style", "test" ],
|
||
"contexts": [ "git", "ide" ],
|
||
"excludes": [ "^wip$" ],
|
||
"maxLengthLine": 72
|
||
}
|
||
```
|
||
|
||
| Настройка | Описание |
|
||
|:----------------|:------------------------------------------|
|
||
| `types` | Перечисление допустимых типов коммитов |
|
||
| `contexts` | Перечисление допустимых контекстов |
|
||
| `excludes` | Перечисление шаблонов для исключений |
|
||
| `maxLengthLine` | Максимальная длинна первой строки коммита |
|
||
|
||
## Сборка
|
||
|
||
Для Linux:
|
||
|
||
```shell
|
||
make build-linux
|
||
```
|
||
|
||
Для Windows:
|
||
|
||
```shell
|
||
make build-windows
|
||
```
|