更新命名的git子模块失败,并出现致命错误

问题描述

我过去使用过git子模块。我知道基本功能。 如果仅使用git submodule add <repo-url> <path/to/submodule>,则.gitmodules文件将具有:

[submodule "path/to/submodule"]
        path = path/to/submodule
        url = <repo-url>.git

最近,我不得不向正在使用的存储库添加新的git子模块。我还从git子模块的手册页中找到了可以与--name命令一起使用的 fancy git submodule add标志。添加效果很好,我的.gitmodules拥有:

[submodule "<submodule-name>"]
        path = path/to/submodule
        url = <repo-url>.git

当我尝试从远程更新子模块时,会发生此问题:

$ git submodule update --remote
fatal: no submodule mapping found in .gitmodules for path 'path/to/submodule'

好的,我可以阅读日志,因此我接下来提供了path/to/submodule

$ git submodule update --remote path/to/submodule
Submodule path 'path/to/submodule' not initialized
Maybe you want to use 'update --init'?

好的,如果您这么说的话(尽管我确信子模块已经被正确初始化过了)。现在:

$ git submodule update --init --remote path/to/submodule
fatal: No url found for submodule path 'path/to/submodule' in .gitmodules

我在测试存储库上进行了一些实验,发现只有在子模块被命名时才会发生这种情况。

我在子模块的名称上做错什么了吗?根据手册页,--name标志仅适用于add子命令,不适用于update

如何更新这样的 named 子模块?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)