更换Git子模块URL后仍显示旧文件,求解决方法
解决Git子模块替换后仍显示原URL内容的问题
问题出在Git子模块的配置不止存于.gitmodules文件,本地仓库的git config和.git/modules目录里还残留了旧子模块的缓存配置——这些没清干净的话,git submodule sync也无法覆盖旧设置。按以下步骤彻底清理后重新添加即可:
- 删除本地的子模块目录:
rm -rf 你的子模块本地路径 - 移除本地Git配置里的旧子模块条目(替换成你的子模块名称,一般和本地路径同名):
git config --remove-section submodule.你的子模块名称 - 删除Git在本地缓存的旧子模块数据:
rm -rf .git/modules/你的子模块名称 - 重新添加新的子模块:
git submodule add 新的GitHub仓库地址 本地路径 - 最后初始化并更新子模块:
git submodule update --init --recursive
完成后用git submodule status检查,就能看到新的子模块URL和对应内容了。
内容的提问来源于stack exchange,提问作者Meddten
相关产品推荐
相关产品推荐

