Что такое Trunk-Based Development
Разработка в единой ветке
Trunk-Based Development — методология разработки, при которой все разработчики работают в одной главной ветке (trunk/main), делая частые небольшие коммиты.
Ключевые принципы
- Все изменения идут напрямую в main/trunk
- Короткоживущие feature-ветки (не более 1-2 дней)
- Частые коммиты (несколько раз в день)
- Непрерывная интеграция обязательна
Преимущества
- Минимизация merge-конфликтов
- Быстрая обратная связь
- Простая история коммитов
- Ускорение CI/CD процессов
- Снижение интеграционного риска
Практики для успеха
- Feature Flags — скрытие незавершённых функций
- Trunk-based + Short-lived branches — ветки на 1-2 дня
- Continuous Code Review — постоянный код-ревью
- Automated Testing — автотесты на каждый коммит
Сравнение с Git Flow
| Аспект | Trunk-Based | Git Flow | |--------|-------------|----------| | Ветки | 1 основная | Много долгих | | Релизы | Непрерывные | По расписанию | | Сложность | Низкая | Высокая | | Конфликты | Редкие | Частые |
Когда использовать
- Опытные команды с хорошим тест-покрытием
- Проекты с CI/CD
- Когда нужны частые релизы