Проект становится больше, и у нас есть несколько веток интеграции:
master
-> выпущенный код develop
-> код, который будет выпущен очень скоро develop-8_6
-> код, который будет выпущен в какой-то момент как версия 8.6 develop-8_7
-> код, который будет выпущен в какой-то момент как версия 8.7 develop-8_8
-> код, который будет выпущен в какой-то момент как версия 8.8 develop-8_9
-> код, который будет выпущен в какой-то момент как версия 8.9 develop-8_10
-> код, который будет выпущен в какой-то момент как версия 8.10 - и т. д. ...
Как ветви интеграции, каждая ветвь должна содержать все изменения из предыдущих ветвей. Кроме того, каждая ветвь получает запрос от разработчиков (например, dev/8_7featureX
). Каждая ветвь объекта должна быть рассмотрена, и для ее объединения обычно используется просто кнопка в gitlab / github. Здесь нет проблем. Моя проблема в том, чтобы объединить одну ветку интеграции с другой develop
-> develop-8_6
-> develop-8_7
-> ...
До сих пор я объединял все ветви вручную, иногда это легко, иногда это требует времени из-за конфликтов и т. д. Но это бесконечно, я думаю, что наличие нескольких веток интеграции является обычным подходом для больших проектов, таких как Gitlab , et c.
Вопрос:
Как можно автоматически выполнить процесс объединения веток интеграции для всех будущих ветвей выпуска? Я читал о реализации git приемных хуков на сервере, но было неясно, как бороться с конфликтами. Может ли кто-нибудь указать мне правильное направление? Или показать какие-то конкретные c примеры или подходы для объединения всех разрабатываемых веток?
Другими словами, как люди в проекте Gitlab имеют дело с таким количеством интеграционных веток? Как они это автоматизировали? (Или это делается вручную?)