常設分支
master 分支
-- master 為主分支,也是用于部署生產環境的分支,確保master分支穩定性,不能直接修改代碼。上線時需打tag。
release 分支
-- release 為預上線分支,發布提測階段,會release分支代碼為基準提測
develop 分支
-- develop 為開發分支,始終保持最新完成以及bug修復后的代碼
臨時分支
feature 分支
-- 開發新功能時,以develop為基礎創建feature分支
-- 分支命名:feature-*開頭的為特性分支, 命名規則: feature-user-control、feature-domain或feature-任務單號
hotfix 分支
-- bug修復分支,從常設分支切出hotfix分支
-- 分支命名:hotfix-*開頭的為bug分支,命名規則:hotfix-bug單號
開發流程
1、分支 ---- 從master分支切出一個新分支,命名為feature-*。
2、提交 ---- 開發者完成開發,提交分支到遠程倉庫。
3、合并 ---- 開發者發起merge請求(可在gitlab頁面“New merge request”),將新分支請求merge到develop分支,并提醒code reviewer進行review
4、審查 ---- code reviewer對代碼review之后,若無問題,則接受merge請求,新分支merge到develop分支,同時可刪除新建分支;若有問題,則不能進行merge,可close該請求,同時通知開發者在新分支上進行相應調整。調整完后提交代碼重復review流程。
5、轉測 ---- 一個模塊的相關功能完成前后端聯調就進行轉測,直接從當前develop分支merge到release分支,重新構建測試環境完成轉測。
6、上線 ---- 測試完成后,從release分支merge到master分支,基于master分支構建生產環境完成上線。并對master分支打tag,tag名可為v1.0.0_2019032115(即版本號_上線時間)
BUG修復流程
正常開發
正常開發過程中,轉測后測試環境發現的bug需要修復,從develop分支切出hotfix分支對bug進行修復,完成之后合并到develop分支。流程示意圖如下:
并行開發
并行開發過程中,轉測后測試環境發現的bug需要修復,但是develop分支此時又有新內容且該部分內容目前不計劃轉測,可以release切出一個bug修復分支。完成之后需要同時merge到release分支與develop分支。流程示意圖如下:
生產環境Bug修復流程(緊急)
緊急Bug修復,需要從master分支切出一個bug修復分支,完成之后需要同時merge到master分支與develop分支(如果需要測試介入驗證,則可先merge到release分支,驗證通過后再merge到master分支上線)。流程示意圖如下: