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

3.6 KiB
Raw Permalink Blame History

Проверка именования фича-бранчей и оформления Commit Message

Внедрение в репозиторий Git Pre-Commit check в качестве скрипта, который будет проверять на валидацию оформления коммитов в основную ветку репозитория

  • Проверка названия фича-бранчей
  • Проверка коммит сообщения

Проверка осуществляется через добавление настройке администрирования репозитория Settings > GitHooks > Pre-Commit bash-скрипта. Пример скрипта, настроенного на данном репозитории: check_commits.sh

Протестировать работу можно на этом репозитории

Branch name check

Коммитить напрямую в master/main ветку запрещено, все изменения проводятся через PR из feature-branch в master/main ветку

Допустимые названия веток

В проектах мы выделяем следующие типы веток:

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.
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