本文说明如何使用 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 处理多个 submodulegit submodule foreach git branch --set-upstream-to=origin/develop develop