intermediate
Feature branches
Используйте короткоживущие feature branches для изоляции без дорогого дрейфа интеграции.
Feature branches изолируют изменение для разработки и review. Лучше всего **короткоживущие**, регулярно синхронизированные с main и с CI на каждый push.
main ─────●─────●─────●─────●
\ /
feature ●─●─●─●
Частая синхронизация через merge или rebase уменьшает финальный diff интеграции. Незавершённое поведение в production — feature flags; ветка не заменяет контроль деплоя.
На интервью: feature branches vs trunk-based; flags, размер PR, частота интеграции.
Типовые ошибки: ветки на месяцы с неожиданными конфликтами; ветка как повод пропустить CI; несколько несвязанных фич в одной ветке.
Компромисс — изоляция (отдельная ветка) против непрерывной интеграции (мелкие merge в main).
Чеклист:
- Маленькие и короткоживущие ветки.
- Синхронизация с main хотя бы раз в день на активной работе.
- Одна фича или fix на ветку.
- Flags отделяют merge от видимого релиза.