我了解到要下载带有主存储库的子模块,我们可以在克隆主存储库时使用--recursive
选项。
我做了同样的git clone --recursive git@github.com:passion/academy.git
我发现它只创建一个子模块的空目录,但没有下载它的代码。
我们需要做一些额外的事情,比如git submodule update --init --recursive
吗?如果是,那么克隆主存储库时--recursive
标志的用途是什么?
答案 0 :(得分:3)
如果您使用的是最新的git,并且仍然没有克隆子模块,则表示这些空文件夹不是子模块,而是 nested git repo 。< / p>
嵌套式仓库在其父仓库中以 gitlink 的形式记录,但不会有任何.gitmodules
个与之关联的文件。
health-check
似乎是一个嵌套的git,但不确定克隆时是否给我No submodule mapping found in .gitmodules for path for health-check
..嵌套git repos是否有必要在.gitmodules中输入?
如果您希望将嵌套的git repo识别并作为子模块进行管理,是的。
正如your next question所示,.gitmodules
health-check
中缺少路径条目可能会阻止hellospawn
(这似乎是一个合法的子模块)检查出来。
答案 1 :(得分:0)
我有一个类似的问题。要检查的几件事:
Set
% cat .gitmodules
[submodule "src/mysubmodule"]
path = src/mysubmodule
url = myurl/mysubmodule.git