EMZETT.
Увійти

Trunk-based development (розробка в основній гілці)

Коротко: За trunk-based development усі розробники працюють в одній спільній основній гілці й зливають лише дуже короткоживучі гілки, часто протягом дня.

Докладніше: Протилежність — довгі гілки функцій, які днями розходяться й закінчуються болісними злиттями.

Подробиці

  • Правила: Невеликі зміни, часта інтеграція, основна гілка завжди працює.
  • Прапорці функцій (feature flags): Незавершені функції постачаються за перемикачем, вимкненими. Так розділяють розгортання й увімкнення.
  • Передумови: Швидкі автоматичні тести, безперервна інтеграція та код-рев’ю, що не триває днями.
  • Переваги: Менше конфліктів злиття, швидший зворотний зв’язок, простіші релізи.
  • Недоліки: Вимагає дисципліни та доброго покриття тестами. Великі перебудови треба розбивати на малі кроки («branch by abstraction»).
  • Відмінність: GitFlow з гілками develop, релізів і хотфіксів трудомісткіший і більше підходить ПЗ із фіксованими версіями.

Див. також: git rebase