修改或删除git submodule

因为国外google代码仓库的东西访问不到,有可能导致submodule失效,需要修改 或者删除git子模块

删除子模块

1
2
3
4
5
6
# 逆初始化模块,其中{MOD_NAME}为模块目录,执行后可发现模块目录被清空
git submodule deinit {MOD_NAME}
# 删除.gitmodules中记录的模块信息(--cached选项清除.git/modules中的缓存)
git rm --cached {MOD_NAME}
# 提交更改到代码库,可观察到'.gitmodules'内容发生变更
git commit -am "Remove a submodule."

更改子模块url

修改.gitmodules文件中对应模块的url属性,然后更新到.git/config

1
2
git submodule sync
git commit -am "Update submodule url."

更低版本可能会不能自动更行.git/config,这时需要手动更新。