submodule是git的一个很方便的功能,对于像笔者这样的更新强迫症患者绝对是个福音。将Github上的项目作为submodule添加到自己的项目中后,能够很方便地进行更新。

本文是我在git submodule使用过程中积累下的几个简单用法,放在这儿留档的同时分享给大伙儿看一下~

  1. 添加submodule

很简单,一句命令即可

git submodule add git://yourhost/repo.git Externals/repo

  1. 删除submodule

相对于添加略微烦一点,按照如下步骤即可:

先在git中删掉这个submodule

git rm —cached Externals/repo

rm -rf Externals/repo

接着修改.gitmodules,删掉当中对应于这个submodule的部分

vim .gitmodules

接着修改.git/config

vim .git/config

修改完成之后理论上submodule就从当前的工作目录消失了,于是commit一下

git add .gitmodules

git commit -m “Farewell my submodule”

还不放心就同步一下

git submodule sync

  1. 更新submodule

很简单,先cd到需要更新的submodule

cd Externals/repo

然后pull一下

git pull origin master

完事

当然,一般而言一个项目是绝对不可能只用到一个submodule的,下面这个命令可以事半功倍:

git submodule foreach git pull origin master

当然还有很多其它的办法,欢迎分享~