放着,我来 by zhongl

一个简单易行的Gitlab项目分支管理办法

master
   + -----> release/1.0                                     (1)
   |            + ------------> issue/1                     (2)
   |            |                  |
   |            | <----- MR ------ +                        (3)
   |            |                                           (4)
   + <--- MR ---+                                           (5)
   |  <tag:v1.0>                                            (6)
  1. 项目 Owner 负责创建当前待发布的分支,如master> git checkout -b release/1.0

  2. 项目 Developer 根据已提交的 issue 创建对应的开发分支,如 release/1.0> git checkout -b issue/1

  3. 项目 Developer 完成开发后,发起由issue/1release/1.0Merge Request给项目 Owner

    • 可并行开发 issue, 同样执行步骤 2 ~ 3
  4. 项目 Owner 审查过代码后,合并代码才可提交测试, 若出现 Bug,则执行执行步骤 2 ~3

  5. 项目 Tester 测试全部通过后,发起由release/1.0masterMerge Request给项目 Owner

  6. 项目 Owner 合并代码并打标签v1.0,如master> git tag v1.0,而后才可发布上线。

无测试参与的项目

比如开发公共库或中间服务的项目,这种情况下,可以不拉 release分支,而直接在 master上拉 issue分支,但Merge Request的步骤不能缺少

注意

合并后的分支应删除掉。

分支说明

  • master
    • 最新的提交版本应该与线上版本保持一致
    • 必须是 Protected, 仅限项目 Owner 提交或合并
  • release/{version}
    • 当前开发分支,version是版本号
    • 最新提交版本应该与测试环境保持一致
  • issue/{id}
    • 对应 issue 的开发分支