Ветки в 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, есть отдельная ветка с версией приложения, в которой ведется подготовка к релизу.