在管理多个项目同用代码的时候,submodule比较有用
假设有三个项目仓库,MyProjectA,MyProjectB,MyPlugin
MyPlugin由MyProjectA和MyProjectB共用,当然也可以把MyPlugin项目在两个项目中都放一遍,但这样修改MyPlugin后两边就得都改一遍,比较好的做法是使用submodule,用法也很简单,如下:
比如在MyProjectA中,
git submodule add git://github.com/MyPlugin.git MyPlugin
此处MyPlugin如果在当前目录,也可省略,即:
git submodule add git://github.com/MyPlugin.git
会发下如下两个文件改变了,.gitmodules和MyPlugin
把这两个文件commit和push后,
其他人只需要在相应的目录进行如下操作:
git clone git://github.com/MyPlugin.git
即可
pull的时候如果想把所有submodule都pull下来,可使用如下命令:
git pull && git submodule foreach git pull
如果子模块出现嵌套,可递归拉取,命令如下:
git pull && git submodule foreach --recursive git pull