Sobes.tech
Назад к вопросам
Senior
6

Как устроен git flow — ветки, окружения, деплой?

Компании, где спрашивали
Яндекс

Ответ от нейросети

sobes.tech AI

Git Flow — это популярная модель ветвления, которая помогает организовать разработку и деплой.

Основные ветки:

  • master — содержит стабильный код, готовый к продакшену.
  • develop — интеграционная ветка для разработки, откуда берутся новые релизы.

Вспомогательные ветки:

  • feature/ — для разработки новых функций, ответвляются от develop и сливаются обратно в develop.
  • release/ — для подготовки релиза, ответвляются от develop, после тестирования вливаются в master и develop.
  • hotfix/ — для срочных исправлений в продакшене, ответвляются от master и вливаются в master и develop.

Окружения обычно соответствуют веткам:

  • develop — staging или тестовое окружение;
  • master — продакшен.

Деплой происходит из ветки master после прохождения всех тестов и проверки релиза. Hotfix-ветки позволяют быстро исправлять баги в продакшене без ожидания следующего релиза.

Пример команд:

# Создать feature ветку
git checkout develop
git checkout -b feature/new-feature

# После завершения работы
git checkout develop
git merge feature/new-feature

# Создать релиз
git checkout develop
git checkout -b release/1.0.0

# После тестирования
git checkout master
git merge release/1.0.0
git checkout develop
git merge release/1.0.0

# Удалить релиз ветку
git branch -d release/1.0.0