繁体   English   中英

git --recursive 不克隆子模块

[英]git --recursive doesn't clone submodule

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

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

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

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

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

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

health-check似乎是一个嵌套的 git 但不确定何时克隆给我No submodule mapping found in.gitmodules for path for health-check .. 嵌套的 git repos 是否有必要进入 in.gitmodules?

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

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

我有一个类似的问题。 要检查的几件事:

  1. 检查你的.gitmodules文件:
% cat .gitmodules
[submodule "src/mysubmodule"]
    path = src/mysubmodule
    url = myurl/mysubmodule.git
  1. 检查你的.git/config文件并确保列出的子模块 url 与 in.gitmodules 相同:
% cat .git/config
...
[submodule "src/mysubmodule"]
    url = myurl/mysubmodule.git
    active = true
  1. 最后,检查 url 并确保这是正确的 url(应该与您在该子模块的“git clone”中键入的相同)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM