Ветвление задач и функций
Самая распространённая методика. На каждую задачу создаётся отдельная ветка, которая после завершения задачи интегрируется с магистралью.
Ветка задачи
Схема:
- Разработчик создаёт ветку задачи из магистрали
- Для решения задачи вносит изменения в свою ветку.
- Регулярно забирает изменения из магистрали, чтобы как можно раньше обнаружить негативное влияние изменений на функциональность задачи
- Тестирует ветку
- Работоспособную ветку интегрирует с магистралью
- Тестирует магистраль
Ветка релиза
Используется, если сложно поддерживать магистраль в рабочем состоянии.
Схема:
- Ветка релиза создаётся из магистрали или из предыдущего релиза
- Выполняется тестирование ветки релиза
- При необходимости 'горячие правки' выполняются непосредственно в ветке релиза или в ветках, созданных из него
- Выполняется интеграция с магистралью
- Далее ветка релиза живёт собственной жизнью. Дальнейшие изменения в релизе могут не передаваться в магистраль.
Ветка выпуска (продуктива)
Создаётся из ветки релиза. Но чаще используется метод маркировки ветки релиза. Сначала ветке релиза назначают идентификатор: номер.test (готова к тестированию). После готовности - номер.prod (готова к выпуску).
Экспериментальная ветка
Создаётся, когда нужно что-то попробовать, но нет уверенности, что в конечном итоге это будет использовано.
Будущая ветка
Создаётся, когда необходимо внести изменения, очень сильно влияющие на базовый код, и обычные методы интеграции будут неприменимы.
Ветка совместной работы
Если требуется согласовать изменения, важные для нескольких членов команды.
Например, разработчик А создаёт процедуру, которую разработчик Б планирует использовать при решении своей задачи. Из магистрали создаётся ветка для совместной работы, а из неё ветки для каждого разработчика.
Нет комментариев