如何克隆git子模块及其父级

时间:2019-12-07 18:06:58

标签: git github github-actions

我的项目具有以下结构:

-- main_repo
---- sub1
---- sub2
---- sub3

现在,我正在为所有项目实施CI,并且子模块都取决于main_repo。我可以从主存储库中运行此配置项,但我真的很喜欢从每个存储库中运行它。

因此,我想知道git clone命令是否可以克隆子模块以及父仓库。有可能吗?

示例:

$ git clone sub1 --clone-parent

对于这种情况,还是有更好的解决方案?

2 个答案:

答案 0 :(得分:1)

远程git仓库不知道它是否是子模块。没有任何元数据表明“此模块已作为子模块添加到其他存储库”。

考虑子模块和父模块之间的关系:特定的git存储库可能是许多不相关模块的子模块。如果该模块实现某种基本库,则尤其如此。

即使本身包含几个子模块的存储库也可能是其他地方的另一个存储库的子模块。

答案 1 :(得分:0)

是的。这是可能的。

您需要将--recurse-submodule添加到git clone命令。实际上,这将与父级克隆所有子模块