Ветки в git¶
Для общего порядка принмиаются следующие правила в наименовании веток.
- все ветки именуются с нижнем регистре
- используется
kebab-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
(если требуется).Почему: следуем принятой в индустрии практики
git-glow
, сразу понятно, что в рамках этой ветки ведутся обычные, плановые работы. -
hotfix/%branch_name%
- на случай срочных исправлений в продакшене. После вливаются вmaster
и вdev
, также помечается тегом.Почему: следуем принятой в индустрии практики
git-glow
, сразу понятно, что в рамках этой ветки ведутся срочные работы. -
release/%branch_name%
- ветка для подготовки сборки к релизу: должны прогнаться все тесты, подняться версия сборки, заполнитьсяchangelog
, вся документация должна быть обновлена. Потом изменения вливаются вmaster
иdev
, коммит помечается тегом с номером версииПочему: следуем принятой в индустрии практики
git-glow
, есть отдельная ветка с версией приложения, в которой ведется подготовка к релизу.