git submodule

git submodule即git子模块,将一个git仓库作为另一个git仓库的子目录

添加一个子模块

1
git submodule add

会增加:

  1. .gitmodules文件,记录每个子模块的引用信息
  2. 相应的子模块

克隆一个带有submodules的仓库

1
2
3
4
5
6
7
8
9
git clone
git submodule //查看状态
//检出
git submodule init //初始化本地配置文件
git submodule update //抓取数据并检出父项目中列出的合适的提交
//以上两步可以简化为
git clone --recursive /path/to/repos/某个git

修改submodule (在引用项目中修改)

  1. 在这个lib中修改并提交
  2. 在引用这个module的项目中提交
  3. 在主项目中git pull

更新公共类库

1
2
git submodule init
git submodule update