Git Flow

Git Flow — это модель ветвления и управления релизами в Git, предложенная Винсентом Дриссеном. Она описывает стандартный рабочий процесс для командной разработки с чётким разделением веток по назначению.


Основные ветки в Git Flow

  1. main (или master)

    • Хранит только стабильный, готовый к продакшену код.

    • Каждый коммит в main соответствует релизу.

  2. develop

    • Основная ветка для разработки.

    • Все новые функции сливаются сюда перед релизом.

  3. feature/ (функциональные ветки)*

    • Создаются от develop для разработки отдельной функции.

    • После завершения сливаются обратно в develop.

  4. release/ (релизные ветки)*

    • Создаются от develop, когда накоплено достаточно изменений для нового релиза.

    • Используются для тестирования, исправления багов и подготовки к продакшену.

    • После готовности сливаются в main и develop.

  5. hotfix/ (экстренные исправления)*

    • Создаются от main для исправления критических багов на продакшене.

    • После исправления сливаются в main и develop.


Типичный процесс работы

  1. Разработка новой функции:

  1. Завершение функции:

  1. Подготовка релиза:

  1. Экстренный фикс на проде:


Плюсы Git Flow

  • Чёткая структура веток.

  • Легко управлять релизами и багфиксами.

  • Подходит для больших команд и долгих проектов.

Минус:

  • Может быть избыточен для маленьких проектов или быстрого прототипирования.

Last updated

Was this helpful?