巧妙地将git子模块与相互依赖的存储库一起使用

问题描述 投票:1回答:1

我们有一个更大的项目,它在一个没有递归的树结构之后组织在各种相互依赖的git存储库中。在下文中,我试图描绘一个最小的可能示例,它将突出我试图解决的问题,即使在我们的例子中树的深度可能相对较大。假设存储库和子模块依赖关系系统如下(符号“ - >”表示用作子模块):

A
B -> A
C -> A, B

如果我使用git clone --recursive for 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中是否有可能?这个问题有实用的解决方案吗?

git git-submodules
1个回答
0
投票

你也可以用其他方式链接:

# at the root of C
ln -s B/A A
© www.soinside.com 2019 - 2024. All rights reserved.