2015-11-19 593 views
0

我试图更新我在Windows 7中的项目上的子模块,但git不响应任何内容。git submodule不起作用

有包含路径的.gitmodules文件等

当我运行git submodule initgit submodule update没有任何反应。我没有得到任何输出。另外git submodule status什么都不给。

当我尝试添加现有的子模块时,出现一个它已经存在的错误。

提到我使用1.9.5.msysgit这是嵌入式的SourceTree git版本可能是有用的。

更新

而且SourceTree不显示子模块要么。

+0

'git status'工作吗?这可能是一个控制台问题。 – Kenney

+0

是的,它工作得很好。 – ipinak

+0

'git status'的输出是什么 – houtanb

回答

0

我发现问题所在。子模块的名称与路径不匹配(基于.gitmodules),显然如果它们不匹配,git无法识别它。

因此,这是正确的

[submodule "lib/name"] 
    path = lib/name 
    url = ... 

这不是

[submodule "lib/name1"] 
    path = lib/name 
    url = ... 

我想有人手动创建的.gitmodules,这就是为什么我有这个问题。

+0

如果'git子模块添加https:// gitlab.com/some/name1.git',然后将其重命名为'git mv name1 name',那么'.gitmodules'看起来像这样。 –