1. 程式人生 > >Gitlab 專案分支管理的一種策略

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/1

    release/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 的開發分支