# Проверка именования фича-бранчей и оформления 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 ```