55 lines
3.6 KiB
Markdown
55 lines
3.6 KiB
Markdown
# Проверка именования фича-бранчей и оформления Commit Message
|
||
Внедрение в репозиторий Git Pre-Commit check в качестве скрипта, который будет проверять на валидацию оформления
|
||
коммитов в основную ветку репозитория
|
||
- Проверка названия фича-бранчей
|
||
- Проверка коммит сообщения
|
||
|
||
Проверка осуществляется через добавление настройке администрирования репозитория Settings > GitHooks > Pre-Commit
|
||
bash-скрипта. Пример скрипта, настроенного на данном репозитории: check_commits.sh
|
||
|
||
Протестировать работу можно на этом репозитории
|
||
|
||
## Branch name check
|
||
Коммитить напрямую в master/main ветку запрещено, все изменения проводятся через PR из feature-branch в master/main ветку
|
||
|
||
|
||
### Допустимые названия веток
|
||
|
||
В проектах мы выделяем следующие типы веток:
|
||
```commandline
|
||
master/main # мастер ветка, может быть любое другое название. Определяется в конфигурации репозитория
|
||
release # ветки релизов
|
||
rc # ветки релиз-кандидатов
|
||
smoke # ветки смоков
|
||
feature # ветки, в которых ведется разработка фичей или изменение хеша сабмодулей, обычно именуются с именем Eva тикета и описанием
|
||
hotfix/bugfix # срочные исправления. могут не иметь Eva тикета в названии
|
||
```
|
||
Основные требования к именованию:
|
||
- Для разделения блоков имен используется нижнее подчеркивание "_"
|
||
- Все ветки в своем названии должны содержать номер тикера из Eva / код проекта
|
||
- Все ветки должны иметь краткое описание, к чему относится эта ветка / версию
|
||
- В зависимости от типа ветки, к основному названию может добавляться приставка или суффикс
|
||
|
||
## PR name check
|
||
PR-ветки создаются автоматически при создании PR в Gitea.
|
||
|
||
- EvaID в имени PR должно совпадать с именем EvaID из feature-ветки
|
||
- Если PR находится в состоянии "Work in progress", то ставится префикс "WIP: ". В Gitea есть функция помечать PR в WIP.
|
||
|
||
```commandline
|
||
Feature-branch name example: T-UST-6499_Use_Keychain
|
||
PR name example: [T-UST-6499] Use Keychain
|
||
```
|
||
|
||
|
||
## Commit message check
|
||
- В начале сообщении коммита в обязательном порядке должен быть указан номер EvaID тикета в квадратных скобках
|
||
- После скобок пишется краткое содержание коммита
|
||
- Валидация сообщений коммитов на наличие EvaID проходит на стороне Git сервера. При отсутствии EvaID - коммиты, PR реджектятся.
|
||
|
||
```
|
||
Example Git commit message:
|
||
[T-UST-1234] My very useful commit message
|
||
| |
|
||
EvaID ticket Commit message
|
||
``` |