Ветки в git

Для общего порядка принмиаются следующие правила в наименовании веток.

  • все ветки именуются с нижнем регистре
  • используется snake case (слова в нижнем регистре, разделяются нижним подчеркиванием)
  • наименование основной ветки - master
  • наименование основной ветки разработки - dev
  • при создании веток придерживаемся подхода git flow

Git Flow

git-flow — это набор расширений git предоставляющий высокоуровневые операции над репозиторием для поддержки модели ветвления Vincent Driessen. Эта модель ветвления позволяет сделать репозиторий более понятным для любого разработчика. Подробнее прочитать о git flow можно по ссылке.

Основные моменты:

  • master - стабильная ветка разработки: тут находится код, который прошел тестирование и развернут на production, код в этой ветке обязан компилироваться и проходить все тесты
  • dev - основная ветка разработки: любые новые фичи и исправления начинаются здесь и вливаются обратно
  • feature/%branch_name% - отдельные ветки под каждую новую фичу: код тут может быть не компилируемым. Когда разработка заканчивается, делается merge request в ветку dev, куда изменения попадают после прохождения code review
  • release/%branch_name% - ветка для поготовки сборки к релизу: должны прогнаться все тесты, подняьтся версия сборки, заполниться changelog, вся документация должна быть обновлена. Потом изменения вливаются в master и dev, коммит помечается тегом с номером версии
  • hotfix/%branch_name% - на случай срочных исправлений в продакшене. После вливаются в master и в dev, также помечается тегом.