PassFront
  1. PassFront
  2. База знаний
  3. Модели ветвления и командная работа

В чем разница между Trunk-based и Feature Branch?

Модели ветвления и командная работа

Feature Branch — каждая задача живёт в своей ветке до готовности. Trunk-based — изменения вливаются в основную ветку маленькими порциями несколько раз в день.

Feature Branch

  • ветка под задачу, вливается через pull request после ревью;
  • ветки могут жить днями и неделями;
  • плюс: main защищена от незаконченного кода;
  • минус: долгоживущие ветки расходятся с main — больше конфликтов и поздняя интеграция.

Trunk-based

  • очень короткие ветки (часы) или коммиты прямо в main;
  • незаконченный функционал прячут за фича-флагами;
  • плюсы: ранняя интеграция, меньше конфликтов, быстрые релизы;
  • требует хорошего CI, автотестов и культуры мелких изменений.
if (flags.isEnabled('new-checkout')) {
  renderNewCheckout();
}

Как выбирать

Крупным командам с частыми деплоями ближе trunk-based; командам с длинными релизными циклами или без сильного CI — feature branch.

Коротко для собеседования

Feature Branch — отдельная ветка на задачу до готовности, trunk-based — частые маленькие вливания в main с фича-флагами; второй ускоряет интеграцию, но требует хорошего CI.

Подробнее: trunkbaseddevelopment.com

Другие вопросы раздела