團隊專案的Git分支管理規範

2021-10-02 22:01:23 字數 1690 閱讀 6652

團隊專案git分支管理規範:

建立專案時(一般是服務型專案,工具型或輔助型專案可以簡單一些),會針對不同環境建立三個常設分支:

develop:開發環境的穩定分支,公共開發環境基於該分支構建。

pre-release:測試環境的穩定分支,測試環境基於該分支構建。

master:生產環境的穩定分支,生產環境基於該分支構建。僅用來發布新版本,除了從pre-release或生產環境bug修復分支進行merge,不接受任何其它修改

平時開發工作中,會根據需要由開發人員建立兩類臨時分支:

功能(feature)分支:為了開發某個特定功能,從develop分支上面分出來的。開發完成後,要merge到develop分支。功能分支的命名,可以採用feature-*的形式命名(*為任務單號)

bug修復(fixbug)分支:為了修復某個bug,從常設分支上面分出來的。修復完成後,再merge到對應的分支。bug修復分支的命名,可以採用fixbug-*的形式命名(*為bug單號)

從develop分支切出乙個新分支,根據是功能還是bug,命名為feature-* 或 fixbug-*。

開發者完成開發,提交分支到遠端倉庫。

開發者發起merge請求(可在gitlab頁面「new merge request」),將新分支請求merge到develop分支,並提醒code reviewer進行review

code reviewer對**review之後,若無問題,則接受merge請求,新分支merge到develop分支,同時可刪除新建分支;若有問題,則不能進行merge,可close該請求,同時通知開發者在新分支上進行相應調整。調整完後提交**重複review流程。

轉測時,直接從當前develop分支merge到pre-release分支,重新構建測試環境完成轉測。

測試完成後,從pre-release分支merge到master分支,基於master分支構建生產環境完成上線。並對master分支打tag,tag名可為v1.0.0_2019032115(即版本號_上線時間)

流程示意圖如下所示

並行開發(即前乙個版本已經轉測但未上線,後乙個版本又已在開發中並部分合併到了develop分支)過程中,轉測後測試環境發現的bug需要修復,但是develop分支此時又有新內容且該部分內容目前不計畫轉測,可以pre-release切出乙個bug修復分支。完成之後需要同時merge到pre-release分支與develop分支。merge時參考「正常開發流程」。

流程示意圖如下

生產環境的bug分兩種情況:

緊急bug:嚴重影響使用者使用的為緊急bug,需立即進行修復。如關鍵業務流程存在問題,影響使用者正常的業務行為。

非緊急bug或優化:非關鍵業務流程問題,僅影響使用者使用體驗,或出現頻率較小等,為非緊急bug,可規劃到後續版本進行修復。

非緊急bug修復參考「正常開發流程」。

緊急bug修復,需要從master分支切出乙個bug修復分支,完成之後需要同時merge到master分支與develop分支(如果需要測試介入驗證,則可先merge到pre-release分支,驗證通過後再merge到master分支上線)。merge時參考「正常開發流程」。流程示意圖如下

專案Git分支管理規範

git 是乙個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。專案中,一般會建立三個常用分支 日常開發中,一般會建立兩類分支 從develop分支切出乙個新分支,根據是功能還是bug,命名為feature 或 fixbug 開發者完成開發,提交分支到遠端倉庫。開發者發起merge請求...

專案Git分支管理規範

git 是乙個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。專案中,一般會建立三個常用分支 日常開發中,一般會建立兩類分支 從develop分支切出乙個新分支,根據是功能還是bug,命名為feature 或 fixbug 開發者完成開發,提交分支到遠端倉庫。開發者發起merge請求...

git分支管理規範

以下特點是有部分是假設性,部分是實際的 這裡的約束是指無論哪一種場景,以及開發規模大小都必須要遵守的一些git分支管理規則 只需要乙個master分支,然後各自建立自己的分支名為 dev 拼音簡寫 feature fixbug 名稱 如 dev zhang3 userreg,雙發約定好評審方式和me...