PassFront
  1. PassFront
  2. База знаний
  3. Модели ветвления и командная работа

В чем разница между Git Flow и GitHub Flow от создания фичи до попадания в production?

Модели ветвления и командная работа

Путь фичи до продакшена в двух моделях отличается числом промежуточных веток.

Git Flow

  1. Ветка feature/login создаётся от develop.
  2. После ревью фича вливается в develop.
  3. Когда набран релиз, от develop создаётся release/1.4 — там только фиксы и подготовка версии.
  4. release/1.4 вливается в main (тег v1.4) и обратно в develop.
  5. Деплой идёт из main.

GitHub Flow

  1. Ветка feature/login создаётся от main.
  2. Открывается pull request, проходит CI и ревью.
  3. Изменение вливается в main и сразу деплоится (часто автоматически).
git switch -c feature/login main
git push -u origin feature/login   # → pull request → merge → deploy

Что из этого следует

  • В Git Flow фича попадает к пользователям только с релизом, зато релизы контролируемые.
  • В GitHub Flow путь короче, но нужны хорошие тесты, CI и фича-флаги для незаконченной работы.

Коротко для собеседования

Git Flow: feature → develop → release → main. GitHub Flow: feature → pull request → main → деплой.

Подробнее: Atlassian — сравнение workflow

Другие вопросы раздела