Именование веток
Имена веток формируются по шаблону <issue-code>/<short-descr> - например qg-81/create-client. Можно заводить по несколько веток на одну задачу.
Сообщения коммитов
Используется соглашение, вдохновлённое Conventional Commits.
Используемые типы коммитов:
build: Изменения сборки (в том числе зависимостей) проекта
chore: Мелкие непонятные изменения (исравление проблем после мёржа/ребейза, забытые изменения и т.п.)
ci: Изменения в скриптах CI
docs: Изменения только в документации
env: Изменения в дев-окружении проекта (добавление/исправление ран-конфигов, скриптов, конфигов тулов, локальный докер-файлов и т.п.)
feat: Изменения добавляющие новую функциональность
fix: Изменения исправляющие баг
ops: Изменения связанные с эксплуатацией проекта (дополнительные параметры конфигурации, логи, метрики, мониторинг и т.п.)
perf: Изменения улучшающие прозводительность
refactor: Рефакторинг
review: Изменения по требованию ревьювера
style: Мелкие стилистические изменения (форматирование)
test: Изменения затрагивающие только тесты
Коммиты пишутся на грамотном русском языке.
В отличие от Conventional Commits, заголовок сообщения должен содержать после типа коммита через "/" номер основной задачи в рамках которых он выполнен.
Пример сообщения без тела:
feat/qg-115: Реализован метод POST /logout
Тело опционально, но его стоит написать, если коммит содержит какие-то неочевидные/необычные решения или вызван какими-то неочевидными/необычными обстоятельствами или мотивами.
ПР/МРы не должны содержать в себе мёрж-коммитов
Для этого при pull-е изменений из ремоута надо делать либо hard reset, если локально нет важных изменений, либо пулл с ребейзом
Коммиты не должны содержать нерелевантных изменений
Таких как артифакты сборки и файлы, в которых все изменения ограничены добавлением/удалением пустых строк.