У меня довольно большой репозиторий git с конкретными проектами для клиентов и общим кодом:
+- origin/master
+- shared
+- projects
+- CustomerA
+- CustomerB
Существует один источник и несколько разработчиков, толкающих и вытягивающих (с автоматической перебазировкой) все непосредственно в / из этого источника. Это размещено на экземпляре GitLab, которым я полностью управляю, FWIW.
Теперь, в дальнейшем, CustomerA также хочет разместить этот git-репозиторий с историей на своем собственном сервере, поэтому мне нужно как-то разделить это, не теряя историю и не создавая второго источника CustomerA, содержащего проекты для CustomerB. Проекты FWIW CustomerB имеют коммиты только в основной ветке, в то время как есть несколько веток релиза для CustomerA, которые также содержат коммиты, влияющие на общий код.
- Итак, как я могу разделить это, убедившись, что ничего из проектов / CustomerB не выдвигается к новому источнику CustomerA?
- И после разделения, как мне перенести это в существующий источник и убедиться, что другие разработчики правильно используют этот разделенный репозиторий?
Исходя из моего ограниченного понимания, я бы предпочел поддеревьям субмодулям из-за их более легкой обработки.