使用子模块中的子模块

时间:2012-11-05 13:10:20

标签: git github nested git-submodules git-clone

我在Github上管理一些存储库时遇到了一些麻烦。 我正在主要寻找一个寻路库。主仓库在这里:Jumper。此仓库连接到另外两个,包含为子模块(30logBinary-Heaps)。

当我尝试克隆主仓库(Jumper)时,使用 - recursive 作为选项,它可以正常工作。

但是,当我想将此主仓库作为子模块包含在另一个子模块中时,让我们称之为 SuperMaster repo ,然后我尝试克隆SuperMaster repo ,仍在使用 - recursive ,它成功克隆了repo Jumper ,但未能注册其子模块( 30log Binary-Heaps ),说出类似的内容:

Failed to recurse into submodule path 
fatal: not a git repository: ../../../../c:/Users/... etc

我挖了一下,发现有些人遇到了类似的东西(herehere),但是提出的解决方案中没有人似乎与我合作。

1 个答案:

答案 0 :(得分:0)

您不应该cd进入lib/Jumper。从顶级仓库的根目录中调用git submodule update --init --recursive。子模块命令只能从repo的dir根目录执行。此外,如果您使用的是本地URL,则子模块的相对路径存在问题。您获得的错误可能意味着您使用的是本地文件路径而不是URL。但很可能是因为你没有从回购中的根级别调用子模块命令。