Files
githooks/README.md
Stanislav Gabenov c786581649 [DO-0] Initial commit
2024-02-13 12:56:09 +03:00

55 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Проверка именования фича-бранчей и оформления 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
```