问题描述
我过去使用过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 (将#修改为@)