Gitlab 專案分支管理的一種策略
阿新 • • 發佈:2019-01-04
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 的開發分支
-