【问题标题】:Adding git submodule that contains another submodule?添加包含另一个子模块的git子模块?
【发布时间】:2011-06-03 19:17:46
【问题描述】:

我正在一个 git 存储库 (A) 中处理一个项目,该项目包含另一个 git 存储库 (B),而后者又包含第三个 git 存储库 (C)。在 A 中,我通过以下方式添加了 B:

git submodule add https://github.com/blt04/sfDoctrine2Plugin.git plugins/sfDoctrine2Plugin

Click here,你可以看到B在哪里引用C:https://github.com/doctrine/doctrine2

在完成我的 git submodule add 之后,我的 plugins/sfDoctrine2Plugin/lib/vendor/doctrine 文件夹(应该包含 C)是空的。我尝试按照this StackOverflow answer 执行git submodule update --recursive,但它仍然没有将文件导入该路径。我不知道在这里做什么。

【问题讨论】:

  • 你也可以使用 "git clone --recursive " 重新克隆存储库

标签: git github git-submodules


【解决方案1】:

你需要做git submodule update --init --recursive。这里的问题是子模块 C 从来没有被初始化过。

【讨论】:

  • 哇,成功了。我不知道为什么 git 一开始就不够聪明。哦,好的,谢谢!
  • git 假设如果你没有初始化子模块,那是因为你不想要它。这会让新手感到困惑,但它在子模块是可选的情况下非常有用。
  • 你不能只做这件事总是让我感到惊讶: git submodule add --recursive .
猜你喜欢
  • 2015-03-22
  • 1970-01-01
  • 2013-09-24
  • 2020-01-26
  • 2014-10-01
  • 1970-01-01
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多