我在管理 Github 上的一些存储库时遇到了一些麻烦。
我实际上是在维护一个寻路库。主仓库在这里:Jumper .这个 repo 连接到另外 2 个,作为子模块( 30log 和 Binary-Heaps )。
当我尝试克隆主存储库(跳线)时,使用 --recursive 作为选项,它工作正常。
但是,当我想将此主存储库作为子模块包含在另一个中时,我们称之为 super 大师 repo ,然后我尝试克隆 SuperMaster repo,仍然使用 --recursive,它成功克隆了 repo Jumper,但无法注册其子模块(30log 和 Binary-Heaps),如下所示:
Failed to recurse into submodule path
fatal: not a git repository: ../../../../c:/Users/... etc
我挖了一点,我发现有些人遇到了类似的事情(here 和 here),但提出的解决方案似乎都不适用于我。
最佳答案
您不必 cd
进入 lib/Jumper
.调用 git submodule update --init --recursive
从顶级 repo 的根目录。子模块命令只能从 repo 目录的根目录执行。此外,如果您使用本地 url,则子模块的相对路径会出现问题。您收到的错误可能意味着您使用的是本地文件路径而不是 url。但很可能是您没有从 repo 的根级别调用子模块命令。
关于git - 在子模块中使用子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13232844/