Моя ситуация:
Я недавно присоединился к внешней стороне установленного проекта, который включает в себя растущее число экземпляров приложения rails, каждый из которых отличается по некоторым аспектам (представления, стили, настройки и т. Д.), Но которые все разделяют большинство их внутреннего кода.
В нашем репозитории Git есть несколько веток, которые выглядят примерно так:
master
apple
banana
cherry
...
strawberry
tangerine
...
Где каждая производная ветвь содержит производственный код для производственного экземпляра.
(Master не используется для развертывания в режиме реального времени, но содержит весь общий код и является тем, из чего мы должны клонировать настройки нового экземпляра.)
Моя проблема:
Работа, специфичная для отдельного экземпляра, достаточно проста, происходит в ветке (или в ветке разработчика) и т. Д. И т. Д. *
Однако, если мне нужно внести изменение, которое затронет все сайты в кластере, я делаю это в данный момент в ветке dev и объединяю его с master, а затем (что меня беспокоит) приходится вручную проверять каждую продукцию ответвляйтесь по очереди и объединяйте мастера в него.
Даже мой скромный мозг обезьяны кода может видеть, что это плохо масштабируется.
В настоящее время у нас есть что-то вроде 8 производственных филиалов, так что это не так уж и плохо, но план нацелен на рост, и к тому времени, когда он достигнет даже 20 (не говоря уже о 50+), это станет серьезной болью. Это также будет моей личной болью, так как я - тот, кто, вероятно, будет иметь дело с этим на повседневной основе.
Итак, мои настоящие вопросы:
- Есть ли что-то в основной функциональности git, которое мне не хватает, что позволило бы мне элегантно слиться с мастером в n других веток одним махом? (думаю, вряд ли, но все же стоит спросить)
- В качестве альтернативы, может быть, есть способ сделать это с помощью хитроумных сценариев оболочки? (из которых я мог бы добавить, я знаю очень мало, а понимаю еще меньше)
Если последний из них может помочь мне начать / направить меня в правильном направлении?
Заранее большое спасибо за ваше время и помощь.