git --recursive 不克隆子模块

voi*_*ila 7 git github git-submodules

我了解到要下载带有主存储库的子模块,我们可以--recursive在克隆主存储库时使用选项。

我做了同样的 git clone --recursive git@github.com:passion/academy.git

我发现它只创建了一个子模块的空目录,但没有下载它的代码。

我们需要做额外的事情git submodule update --init --recursive 吗?如果是,那么--recursive克隆主存储库时标志的用途是什么?

Von*_*onC 3

如果您使用的是足够新的 git,并且它仍然不克隆子模块,这意味着这些空文件夹不是子模块,而是嵌套的 git repo

嵌套存储库在其父存储库中记录为 gitlink 但不会有任何.gitmodules与其关联的文件。

health-check似乎是一个嵌套的 git,但不确定何时克隆给我No submodule mapping found in .gitmodules for path for health-check.. 嵌套的 git 存储库是否有必要在 .gitmodules 中包含条目?

如果您希望嵌套的 git 存储库被识别并作为子模块进行管理,是的。

正如您的下一个问题所示,可能缺少.gitmodulesfor的路径条目会health-check阻止hellospawn(这似乎是合法的子模块)被签出。