将Git子模块与相互依赖的存储库一起使用的聪明方法 [英] Clever ways to use git submodules with interdependent repositories
本文介绍了将Git子模块与相互依赖的存储库一起使用的聪明方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们有一个更大的项目,它组织在不同的相互依赖的Git存储库中,遵循树形结构,没有递归。在下面的内容中,我试图描述一个尽可能小的示例,以突出我试图解决的问题,即使在我们的例子中,树的深度可能相对较大。假设存储库和子模块依赖系统如下(符号"->"表示作为子模块使用):
A
B -> A
C -> A, B
如果对C使用git clone --recursive
,将出现以下目录结构:
C/
C/A
C/B/A
这种重复也会发生在.git
目录中:您将找到.git/modules/A
、.git/modules/B
和.git/modules/B/modules/A
。虽然我理解这样做的原因,但在我们的特定情况下,如果结构更类似于以下内容(符号:"->"symlink)将是有用的:
C/A
C/B
C/B/A -> C/A
因此,如果我在B
内部更新A
,它也将在C
中更新,我只需提交对这些repos的更改,它们将保持同步。在GIT内部,这是可能的吗?这个问题有没有切实可行的解决方案?
推荐答案
您也可以反过来链接:
# at the root of C
ln -s B/A A
这篇关于将Git子模块与相互依赖的存储库一起使用的聪明方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文