将git信息库拆分为子树和不同来源的维护历史记录

时间:2018-10-27 12:51:00

标签: git

我有一个相当大的git存储库,其中包含客户特定项目和共享代码:

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

有一个起源,几个开发人员将所有内容直接推入或拉出(通过自动变基)。它托管在我完全控制的FitW的GitLab实例上。

现在,CustomerA还希望在其自己的服务器上托管此git存储库以及完整的历史记录,因此我必须以某种方式拆分它,而不会丢失历史记录,并且CustomerA的第二个来源不包含CustomerB的项目。 FWIW CustomerB项目仅在master分支中具有提交,而CustomerA的多个发行分支也包含影响共享代码的提交。

  1. 那么,我如何拆分它,以确保项目/ CustomerB中的任何内容都不会被推送到CustomerA的新来源?
  2. 在拆分之后,如何将其推送到现有来源,并确保其他开发人员正确使用此拆分存储库?

从我有限的理解出发,我更喜欢子树而不是子模块,因为它们易于处理。

0 个答案:

没有答案