我们有一个更大的项目,它以树结构存在于多个相互依赖的git存储库中,没有递归。在下面的内容中,即使树的深度可能相对较大,我也会尝试尽可能地缩小示例,以突出我要解决的问题。假设存储库和子模块依赖项的系统如下(符号“->”表示用作子模块):
A
B -> A
C -> A, B
如果我将git clone --recursive
用于C,则会发生以下目录结构:
C/
C/A
C/B/A
此重复也将在.git
目录内进行:您将找到.git/modules/A
,.git/modules/B
和.git/modules/B/modules/A
。尽管我理解了这种情况的原因,但在我们的特定情况下,如果结构更像以下结构(符号:“->”符号链接)将很有用:
C/A
C/B
C/B/A -> C/A
因此,如果我要在A
中更新B
,它也将在C
中进行更新,那么我只需要对这些存储库提交更改,它们将保留同步中。这可能在git中吗?有解决此问题的实用方法吗?
答案 0 :(得分:0)
您也可以使用另一种方式链接:
# at the root of C
ln -s B/A A