Разбить Git-репозиторий на поддеревья и разные источники, ведя историю - PullRequest
0 голосов
/ 27 октября 2018

У меня довольно большой репозиторий git с конкретными проектами для клиентов и общим кодом:

+- origin/master
  +- shared
  +- projects
    +- CustomerA
    +- CustomerB

Существует один источник и несколько разработчиков, толкающих и вытягивающих (с автоматической перебазировкой) все непосредственно в / из этого источника. Это размещено на экземпляре GitLab, которым я полностью управляю, FWIW.

Теперь, в дальнейшем, CustomerA также хочет разместить этот git-репозиторий с историей на своем собственном сервере, поэтому мне нужно как-то разделить это, не теряя историю и не создавая второго источника CustomerA, содержащего проекты для CustomerB. Проекты FWIW CustomerB имеют коммиты только в основной ветке, в то время как есть несколько веток релиза для CustomerA, которые также содержат коммиты, влияющие на общий код.

  1. Итак, как я могу разделить это, убедившись, что ничего из проектов / CustomerB не выдвигается к новому источнику CustomerA?
  2. И после разделения, как мне перенести это в существующий источник и убедиться, что другие разработчики правильно используют этот разделенный репозиторий?

Исходя из моего ограниченного понимания, я бы предпочел поддеревьям субмодулям из-за их более легкой обработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...