“git submodule status”没有看到子模块

Posted

技术标签:

【中文标题】“git submodule status”没有看到子模块【英文标题】:"git submodule status" does not see submodules 【发布时间】:2016-02-21 19:13:25 【问题描述】:

我正在尝试在 Windows 7 的项目中更新我的子模块,但 Git 没有响应任何内容。

有一个包含路径等的.gitmodules文件。

当我运行 git submodule initgit submodule update 时,没有任何反应。我没有得到任何输出。 git submodule status 也没有给出任何东西。

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

提到我使用的是 1.9.5.msysgit,它是 SourceTree 的嵌入式 Git 版本,这可能会很有用。 Ubuntu Linux 上的 2.6.1 甚至 2.25.1 也会出现同样的问题。

更新:SourceTree 也不显示子模块。

【问题讨论】:

git status 有效吗?可能是控制台问题。 是的,它工作得很好。 git status的输出是什么 在分支分支测试你的分支是最新的......没有提交...... 我已将 git 更新到 2.6.1 版,还是一样。 【参考方案1】:

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

所以这是正确的

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

这不是

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

我想有人手动创建了.gitmodules,这就是我遇到这个问题的原因。

【讨论】:

如果您将git submodule add https://gitlab.com/some/name1.git 重命名为git mv name1 name,则您的.gitmodules 看起来像这样。 在我的例子中,子模块名称和它的路径是一样的。但问题仍然出现,似乎是由其他原因引起的。

以上是关于“git submodule status”没有看到子模块的主要内容,如果未能解决你的问题,请参考以下文章

Java自学是看书还是看视频?有没有推荐?

怎么查看电脑有没有显卡?

怎么看头盔有没有mips

支付宝付款怎么看有没有重复付款

ubuntu 上怎么看SSD 有没有4K对齐

Filesystemwatcher 没有在看子目录