Какие основные ветки используются в Git Flow?

«Какие основные ветки используются в Git Flow?» — вопрос из категории CI/CD и DevOps, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В классической методологии Git Flow используется пять основных типов веток:

  • main / master — стабильная ветка, соответствующая продакшен-окружению.
  • develop — основная ветка для интеграции новой функциональности.
  • *`feature/** — короткоживущие ветки для разработки новых функций. Создаются отdevelop` и вливаются обратно в неё.
  • *`release/** — ветки для подготовки релиза (финальное тестирование, исправление багов). Создаются отdevelopи вливаются вmainиdevelop`.
  • *`hotfix/** — ветки для срочных исправлений в продакшене. Создаются отmainи вливаются вmainиdevelop`.

Пример:

git branch -a
# * main
#   develop
#   feature/user-authentication
#   release/v1.5.0
#   hotfix/critical-login-error

Почему такая структура? Она обеспечивает чёткое разделение стадий разработки, изоляцию изменений и стабильность основной кодовой базы. На практике модель часто адаптируется: в небольших проектах используют упрощённый GitHub Flow (только main и feature-ветки), а в крупных — могут добавляться сотни веток для параллельной работы команд.