Gitflow
Модель ветвления для Git, определяющая строгую структуру веток, разработанную вокруг релизов проекта, с использованием выделенных веток для фич, релизов и хотфиксов.
Определение
Gitflow, представленный Vincent Driessen в 2010, использует пять типов веток: main (продакшн код), develop (интеграционная ветка), feature/* (новые фичи), release/* (подготовка релизов), hotfix/* (исправления продакшна). Фичи ответвляются от develop, релизы ответвляются от develop и мержатся в main и develop. Хотя популярен, Gitflow считается тяжеловесным для continuous delivery — многие команды предпочитают trunk-based development.
Почему это важно
Gitflow предоставляет чёткие правила управления релизами в проектах с запланированными циклами релизов. Однако для команд, практикующих continuous deployment, более простые модели могут быть уместнее.
Пример
Следуя Gitflow, команда ответвляет feature/payment-api от develop, завершает работу, мержит обратно в develop, затем создаёт release/v2.1.0 для финального тестирования перед мержем в main.