Git Submodule Update All

Vim配置里的插件很久没有更新了,今天打算统统升级一下时发现git submodule update没有效果,进入插件目录发现里面都是detached状态的,于是翻了翻Git文档Submodules的部分,原来git submodule update只会同步主库中对子库的设置,也就是说如果主库里没有提交新版本的子库的话,这条命令没有效果的。要想更新本地所有的子库,需要将其重新绑定到某个分支上:

git submodule foreach git checkout master
git submodule foreach git pull