Git,使用存储库作为核心基础,我可以为另一个存储库选择一些模块

时间:2016-07-25 05:25:22

标签: git module

我不确定如何用Git做到这一点: (Module是文件或文件夹)

MyCoreRepo:
Module1
Module2
Module3
Module4

MyCompositeRepo1:
Module2
Module3

MyCompositeRepo2
Module1
Module4

目标是能够选择一些模块(一种组合)。 MyCompositeRepo1正在挑选Module2Module3,然后会添加一些特定代码并保持MyCompositeRepo1级别(不与MyCoreRepo共享)。

如果我在Module2Module3MyCoreRepo添加新功能,MyCompositeRepo1应该能够提取它(更新其Module2和{{1}在不破坏同时添加的特定代码的情况下。

1 个答案:

答案 0 :(得分:1)

如果每个模块都是实际的submodule repos,每个模块都在其父目录中分组,那么很容易混合和匹配它们。

但是考虑到你的“模块”甚至可以是简单的文件,这使得子模块不太适合。

如果你只能处理文件夹,那么子模块repos是有意义的,MyCompositeRepo1将能够用以下内容更新其子模块(track the latest from a branch):

git submodule update --remote
  

不破坏同时添加的特定代码。

只要在自己的特定分支中添加该代码,就可以在刚刚获取的分支之上重新设置分支(或者您可以将刚刚获取的分支合并到该分支)。