“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 init
和 git 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”没有看到子模块的主要内容,如果未能解决你的问题,请参考以下文章