有没有一种方法可以配置存储库以在克隆时递归下载其某些子模块?

时间:2019-03-29 03:45:35

标签: git version-control

我有一个依赖于其他存储库B和C的存储库A,我想将它们添加到我的存储库中,但不存储其历史记录或代码库。为了做到这一点,我试图为每个相关的仓库(B和C)创建一个子模块。问题是我希望能够使用git clone A(不使用--recursive--recurse-submodules)。

A is dependent on B and all of B's submodules

A is dependent on C and none of C's submodules

我的尝试是更改A中的gitmodules文件并将fetchRecurseSubmodules = true添加到B&C,但这似乎不起作用。

如果这不可能,欢迎使用完全不同的方法来解决此问题!

谢谢

更新:为澄清起见,我想在存储库(不是本地)中配置一个解决方案

1 个答案:

答案 0 :(得分:1)

我不知道您是否可以使用递归选项进行回避,但是您至少可以默认使用submodule.recurse config进行设置:

git config --global submodule.recurse true

那么一个简单的git clone就足以创建,初始化和克隆主仓库的所有子模块。

但是,这仍然是一个 local 解决方案:任何想要使用简单的git clone克隆相同存储库的人都必须先设置相同的配置。