Рабочие процессы ветвления
Существует множество различных способов использования ветвей для удовлетворения потребностей вашего проекта. Ниже мы описываем несколько методов, которые обычно используются для разных типов проектов.
Ветви на основе функций
С рабочим процессом на основе функций каждая разрабатываемая функция начинается с создания новой ветки из основной ветки. Затем работа по разработке функции выполняется в вашей ветке функции. Когда ваша функция завершена, вы объединяете все новые изменения из основной ветки обратно в вашу ветку. Выполните окончательное тестирование, чтобы убедиться, что изменения из основной ветки не повлияли на вашу функцию, а затем объедините вашу ветку функции с основной веткой.
Ветви релизов
Если ваш производственный цикл предполагает выпуск номерных версий вашего приложения, возможно, с расширенными периодами тестирования для каждой версии, вы можете выбрать рабочий процесс с ветками релизов.
С этим рабочим процессом новые функции объединяются в основную ветку, и каждый раз, когда вы готовы выпустить версию, вы создаете новую ветку с именем выпускаемой версии. Сборка публикуется из этой ветки релиза, и все необходимые исправления для релиза добавляются в ветку релиза. Как только релиз будет готов, вы можете объединить все исправления обратно в основную ветку и продолжить разработку следующего релиза.
Непрерывная доставка
Если ваше приложение является долгосрочным продуктом, который будет постоянно обновляться, например, новый релиз каждую неделю, вы можете использовать рабочий процесс непрерывной доставки.
В рабочем процессе непрерывной доставки, вместо того чтобы иметь ветки для каждого релиза, используются несколько долгосрочных веток для подготовки приложения к выпуску. Например, функции объединяются в основную ветку, и после того, как каждая функция объединена, основная ветка объединяется в ветку под названием "staging". Сборка публикуется из ветки "staging" в тестовую среду, где проводится тестирование. Все необходимые исправления вносятся в основную ветку, а затем снова объединяются со "staging". Когда ветка "staging" считается готовой, она объединяется с другой веткой под названием "prod" (production). Сборка создается из ветки "prod" и публикуется в рабочей среде.