添加包含另一个子模块的git子模块?

Mat*_*ins 26 git github git-submodules

我正在一个git存储库(A)中创建一个项目,其中包括另一个git存储库(B),后者又包含第三个git存储库(C).在A中,我通过以下方式添加了B:

git submodule add https://github.com/blt04/sfDoctrine2Plugin.git plugins/sfDoctrine2Plugin
Run Code Online (Sandbox Code Playgroud)

单击此处,您可以看到B引用C的位置:https://github.com/doctrine/doctrine2

在我的git子模块添加后,我的plugins/sfDoctrine2Plugin/lib/vendor/doctrine文件夹(应该包含C)是空的.我尝试git submodule update --recursive按照这个StackOverflow答案做一个,但它仍然没有将文件导入到该路径.我不知道该怎么做.

Lil*_*ard 57

你需要这样做git submodule update --init --recursive.这里的问题是子模块C从未被初始化.

  • 你总是这样做让我感到惊讶:git submodule add --recursive <git path>. (10认同)
  • 哇,这成功了。我不知道为什么 git 一开始不够聪明,无法做到这一点。哦,好的,谢谢! (2认同)
  • git 假设如果您没有初始化子模块,那是因为您不想要它。这让新手感到困惑,但在子模块是可选的情况下,它可能非常有用。 (2认同)