git子模块同步不起作用

我试图根据这些说明更改子模块上的远程设备。

修改并保存.gitmodules ,然后执行git submodule sync我的子模块没有改变,尽管我的.git/config文件已被更新以匹配.gitmodules中的新远程URL。

我也尝试了git submodule sync --recursive ,并且按照这个提示做了rm -rf .git/modules/<mySubmodule> ,没有任何区别。 事实上,运行后者的命令,然后再次git submodule sync给予fatal: Not a git repository: ../.git/modules/<mySubmodule> 。 有小费吗?

我最初通过git submodule add git://<mySubmodule-url>到项目中,按照git文档。

编辑

我甚至通过自制软件更新了git到v2.1.1,仍然没有。 我也尝试从头开始,甚至在两个完全不同的子模块之间切换,但我仍然得到相同的结果。 总共:

$> mkdir myRepo
$> cd myRepo
myRepo$> git init .
myRepo$> git submodule add https://<path/to/my/repo>.git
myRepo$> vim .gitmodules 
# change submodule url to https://<path/to/another/repo>.git
myRepo$> git submodule sync # updates my .git/config file with the new submodule url, but all my files in the submodule are still from the old url
myRepo$> git submodule sync --recursive # doesn't do anything
myRepo$> git submodule update --init --recursive # doesn't do anything either
myRepo$> rm -rf .git/modules/<mySubmodule> # tip from SO comment linked above
myRepo$> git submodule sync
fatal: Not a git repository: ../.git/modules/<mySubmodule>

这看起来很烦人。 不理想,但以下似乎为我工作

git submodule foreach git pull --rebase
链接地址: http://www.djcxy.com/p/92315.html

上一篇: git submodule sync doesn't work

下一篇: Git submodule add: "a git directory is found locally" issue