Trunk Based Development:
- Все разработчики коммитят часто (минимум раз в день) напрямую в главную ветку (trunk/main).
- Главная ветка всегда должна находиться в рабочем состоянии.
- Фичи инкрементально разрабатываются и скрываются за флагами фич (feature flags) до их полного завершения и готовности к выпуску.
- Быстрый цикл интеграции, обнаружение конфликтов и ошибок на ранних стадиях.
- Меньше долгоживущих веток, упрощает мержи.
Feature Branching:
- Для каждой новой фичи, исправления бага или эксперимента создается отдельная ветка от главной или другой стабильной ветки.
- Разработка ведется изолированно в этой ветке.
- По завершении фичи ветка мержится обратно в главную ветку после ревью кода.
- Потенциально долгоживущие ветки могут привести к сложным конфликтам слияния.
- Изолированная разработка может задерживать интеграцию и выявление проблем.
Основные различия:
| Критерий | Trunk Based Development | Feature Branching |
| :----------------------- |