master
+ -----> release/1.0 (1)
| + ------------> issue/1 (2)
| | |
| | <----- MR ------ + (3)
| | (4)
+ <--- MR ---+ (5)
| <tag:v1.0> (6)
项目 Owner 负责创建当前待发布的分支,如
master> git checkout -b release/1.0
,项目 Developer 根据已提交的 issue 创建对应的开发分支,如
release/1.0> git checkout -b issue/1
,-
项目 Developer 完成开发后,发起由
issue/1
到release/1.0
的Merge Request给项目 Owner,可并行开发 issue, 同样执行步骤 2 ~3
项目 Owner 审查过代码后,合并代码才可提交测试, 若出现 Bug,则执行执行步骤 2 ~3,
项目 Tester 测试全部通过后,发起由
release/1.0
到master
的Merge Request给项目 Owner,项目 Owner 合并代码并打标签
v1.0
,如master> git tag v1.0
,而后才可发布上线。
无测试参与的项目
比如开发公共库或中间服务的项目,这种情况下,可以不拉
release
分支,而直接在master
上拉issue
分支,但Merge Request的步骤不能缺少。
注意
合并后的分支应删除掉。
分支说明
-
master
最新的提交版本应该与线上版本保持一致
必须是 Protected, 仅限项目 Owner 提交或合并
-
release/{version}
当前开发分支,
version
是版本号最新提交版本应该与测试环境保持一致
-
issue/{id}
对应 issue 的开发分支
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。