Центральный репозиторий содержит две главные ветки, существующие всё время. В ветке master хранится официальная история релиза, а ветка develop
служит в качестве интеграционной ветки для новых функций. Также, удобно тегировать все коммиты в ветке master
номером версии. В develop
ветке будет находиться вся история проекта, в то время как master
содержит частичную историю. Остальные разработчики теперь должны клонировать центральный репозиторий и создать отслеживающую ветку для ветки develop
.
master
и dev
(или develop
).master
содержит стабильный протестированный код. Код в этой ветке всегда готов к деплою на продакшн.dev
содержит код, готовый для тестирования.dev
и master
, только в фича-бранчи.Помимо главных ветвей master
и develop
, наша модель разработки содержит некоторое количество типов вспомогательных ветвей, которые используются для распараллеливания разработки между членами команды, для упрощения внедрения нового функционала, для подготовки релизов и для быстрого исправления проблем в производственной версии приложения. В отличие от главных ветвей, эти ветви всегда имеют ограниченный срок жизни. Каждая из них в конечном итоге рано или поздно удаляется.
Когда в ветку develop
уже слито достаточно нового кода для релиза (или подходит установленная дата предрелиза), от ветки develop
создается ветка release
. Создание данной ветки означает начало следующего цикла релиза, в ходе которой новая функциональность уже не добавляется, а производится только отладка багов, создание документации и решение других задач, связанных с релизом. Когда все готово, ветка release
сливается в master
, и ей присваивается тег с версией.