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 от видимого релиза.