我有一个相当大的git存储库,其中包含客户特定项目和共享代码:
+- origin/master
+- shared
+- projects
+- CustomerA
+- CustomerB
有一个起源,几个开发人员将所有内容直接推入或拉出(通过自动变基)。它托管在我完全控制的FitW的GitLab实例上。
现在,CustomerA还希望在其自己的服务器上托管此git存储库以及完整的历史记录,因此我必须以某种方式拆分它,而不会丢失历史记录,并且CustomerA的第二个来源不包含CustomerB的项目。 FWIW CustomerB项目仅在master分支中具有提交,而CustomerA的多个发行分支也包含影响共享代码的提交。
从我有限的理解出发,我更喜欢子树而不是子模块,因为它们易于处理。