我在Github上管理一些存储库时遇到了一些麻烦。我正在维护一个路径查找库,主要存储库在这里:Jumper。该存储库连接了两个其他存储库,作为子模块包含在内(30log和Binary-Heaps)。
当我尝试使用选项--recursive克隆主存储库(Jumper)时,它可以正常工作。
但是,当我想将此主存储库作为子模块包含在另一个存储库中,让我们称其为SuperMaster repo,然后我尝试使用--recursive克隆SuperMaster repo时,它成功克隆了存储库Jumper,但无法注册其子模块(30log和Binary-Heaps),并显示类似以下内容的消息:
当我尝试使用选项--recursive克隆主存储库(Jumper)时,它可以正常工作。
但是,当我想将此主存储库作为子模块包含在另一个存储库中,让我们称其为SuperMaster repo,然后我尝试使用--recursive克隆SuperMaster repo时,它成功克隆了存储库Jumper,但无法注册其子模块(30log和Binary-Heaps),并显示类似以下内容的消息:
Failed to recurse into submodule path
fatal: not a git repository: ../../../../c:/Users/... etc
.gitmodules
文件中Jumper
或者SuperMaster
仓库的 URL 可能是错误的 - 你能否编辑你的问题并包含这些文件的内容?你使用了哪些命令来添加子模块?你使用的是哪个版本的 git (git --version
),以及你使用的是哪个 Windows 变体(例如 mSysGit 还是 Cygwin)? - Mark Longairgit submodule add git://github.com/Yonaba/30log core/third-party/30log
,然后是git submodule add git://github.com/Yonaba/Binary-Heaps core/third-party/Binary-Heaps
。这个很好用。现在,在SuperMaster repo中,我使用git submodule add git://github.com/Yonaba/Jumper lib/Jumper
将Jumper作为子模块包含进来。这个也很好用,然后我尝试使用cd lib/Jumper
,然后是git submodule update --init --recursive
来初始化子模块Jumper。但是它失败了。 - Roland Y.