本文说明如何使用 Git submodule 管理多项目。
当项目比较复杂时,需要把项目分成多个子项目,每个子项目有独立的代码仓库,可以单独管理。还需要一个总的代码库,能同时管理所有的子项目代码库。有这个需求时,可以使用 Git submodule 实现这个需求。
- 使用 submodule 管理多项目
- Git 服务器创建好仓库
- clone 到本地建立副项目
git clone gitolite@server:path/demo.git
cd demo
,使用命令nano settings.gradle
创建settings.gradle
,加入下面的内容include lib1, lib2, app
- 增加子模块
git submodule add gitolite@server:path/lib1.git lib1
- 在服务器创建仓库 App,创建应用
grails create-app app1
cd mdm
并且运行git submodule add gitolite@server:path/app1.git app1
- 使用 submodule 获取多项目源代码
git clone git@server:path/demo.git
git submodule init
git submodule update
- 一次性获取所有代码
git --recursive clone git@server:path/demo.git
- foreach 处理多个 submodule
git submodule foreach git branch --set-upstream-to=origin/develop develop