Во-первых, позвольте мне представить общую архитектуру проекта.
Она иерархическая. Мы разрабатываем серверное приложение для наших клиентов. Оно хранится на главном сервере.
Скажем, локальный сервер 1, локальный сервер 2, ..., локальный сервер n - это серверы (экземпляры основного приложения) в разных компаниях. В каждой компании есть один локальный сервер. В основном все локальные серверы имеют одинаковую функциональность (скажем, основной модуль), но каждая компания может иметь свой. В качестве идеи было решено решить эту проблему с помощью git branching.
Рассмотрим несколько случаев.
Случай 1
Одна компания (локальный сервер x) хочет получить некоторую специфическую функцию, которая нужна только в этой компании. Следуя логике нашей идеи ветвей, мы делаем следующие шаги:
Пример 2
Мы разработали некоторую функциональность (изменения в основном модуле), которая является общей для всех компаний
Случай 3
Мы разработали некоторую функциональность, которая является общей только для некоторых компаний
Хотелось бы услышать ваши советы о том, как решить "Случай 2" и "Случай 3".