是否可以添加带递归标志的git子模块?

时间:2013-01-27 10:02:06

标签: windows git git-submodules

我正在为我的项目添加一个子模块,其中包含另一个git repo。

要获得我运行的模块:

git submodule add git://github.com/biakaveron/debug-toolbar.git modules/debug-toolbar

然后跑了:

git submodule update --init --recursive

产生了这个错误:

fatal: Not a git repository: ../../../../../../..//d/websites/project/.git/modules/modules/debug-toolbar/modules/vendor/firephp
Failed to recurse into submodule path 'modules/debug-toolbar'

之前我遇到过类似的问题。以前我刚刚添加了子模块,然后使用递归标记(git clone --recursive project.git)重新克隆了项目。但是,如果我能够让子模块首先以递归方式拉入,那将会更容易。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

可能的原因可能是github.com/cadorn/firephp-libs提到的事实:

  

这个项目已经转移到以下的储存库:

https://github.com/firephp/firephp
https://github.com/firephp/firephp-core

因此,您可能希望先更新.gitmodules debug-toolbar git submodule update --init文件(--recursive之后,而不是git submodule update --init --recursive部分),然后 >,再试一次git submodule --recursive

OP做了:

  

提交,然后是递归克隆 - 哪个有效。


原始答案:

其中一个子模块(.gitmodules file)的路径定义似乎不正确:
作为相对路径,当从父代仓库执行的{{1}}命令克隆/更新时,它将无法成功解析,其中所述相对路径无效。