明道学苑

学而不思则罔,思而不学则殆

0%

使用Git submodule管理多项目

本文说明如何使用 Git submodule 管理多项目。

当项目比较复杂时,需要把项目分成多个子项目,每个子项目有独立的代码仓库,可以单独管理。还需要一个总的代码库,能同时管理所有的子项目代码库。有这个需求时,可以使用 Git submodule 实现这个需求。

  1. 使用 submodule 管理多项目
    1. Git 服务器创建好仓库
    2. clone 到本地建立副项目git clone gitolite@server:path/demo.git
    3. cd demo,使用命令nano settings.gradle创建settings.gradle,加入下面的内容
      include lib1, lib2, app
    4. 增加子模块git submodule add gitolite@server:path/lib1.git lib1
    5. 在服务器创建仓库 App,创建应用grails create-app app1
    6. cd mdm 并且运行git submodule add gitolite@server:path/app1.git app1
  2. 使用 submodule 获取多项目源代码
    1. git clone git@server:path/demo.git
    2. git submodule init
    3. git submodule update
  3. 一次性获取所有代码
    git --recursive clone git@server:path/demo.git
  4. foreach 处理多个 submodule
    git submodule foreach git branch --set-upstream-to=origin/develop develop