Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке Trunk-Based Development?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Trunk-Based Development (TBD)** - це Git-підхід, при якому вся команда працює навколо однієї основної гілки (зазвичай `main` або `trunk`), а зміни потрапляють у неї дуже часто і маленькими порціями. **Ключове:** одна головна гілка, часті коміти, мінімум довгоживучих гілок, часто разом із feature flags.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Trunk-Based Development (TBD)** - це Git-підхід, при якому **вся команда працює навколо однієї основної гілки** (зазвичай `main` або `trunk`), а зміни в неї потрапляють **дуже часто і маленькими порціями**. Простіше кажучи: *«Одна головна гілка, часті коміти, мінімум довгоживучих гілок».* --- ## Основна ідея Trunk-Based Development - є **одна центральна гілка** - `main` / `trunk` - розробники: - або комітять **напряму в неї** (із захистами), - або використовують **дуже короткоживучі feature-гілки** (години або 1-2 дні) - код постійно інтегрується і тестується Жодних тижневих feature-гілок. --- ## Як виглядає робота на практиці ### Варіант 1: узагалі без feature-гілок 1. Взяв задачу 2. Зробив маленьку зміну 3. Прогнав тести 4. Закомітив у `main` --- ### Варіант 2: з короткими feature-гілками 1. Створив гілку від `main` 2. Зробив невелику частину задачі 3. Відкрив PR 4. Влив у `main` того ж дня 5. Видалив гілку --- ## Як при цьому не зламати продакшн У Trunk-Based Development майже завжди використовують: - **feature flags (feature toggles)** - код у `main`, але вимкнений - суворий **CI** - автотести - заборону великих PR Код може бути в `main`, але **недоступний користувачам**. --- ## Чим відрізняється від Feature Branch Workflow | Feature Branch | Trunk-Based | | --- | --- | | Довгі feature-гілки | Короткі або без гілок | | Великі PR | Маленькі PR | | Інтеграція наприкінці | Інтеграція постійно | | Конфлікти пізніше | Конфлікти раніше і простіше | --- ## Переваги Trunk-Based Development - Дуже швидкі релізи - Менше merge-конфліктів - Постійна інтеграція - Чудово підходить для CI/CD --- ## Недоліки - Вимагає високої дисципліни - Потрібні хороші тести - Без feature flags - ризиковано - Складніше для новачків --- ## Коли Trunk-Based Development підходить - часті релізи (кілька разів на день) - CI/CD - продукт активно розвивається - команда досвідчена - важлива швидкість постачання --- ## Коли не підходить - рідкісні релізи - великі фічі без флагів - слабкі тести - недосвідчена команда --- ## Коротка відповідь для співбесіди > **Trunk-Based Development - це підхід, при якому розробка ведеться навколо однієї основної гілки, а зміни вливаються в неї часто і маленькими порціями, що спрощує інтеграцію і прискорює релізи.**Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.