淺談GitFlow

Gitflow是Git的分支模型,由Vincent Driessen創(chuàng)建,非常適合協(xié)作和擴展開發(fā)團隊。

Gitflow核心優(yōu)勢

1.并行開發(fā):通過新開發(fā)與已完成的工作隔離開來Develop:開發(fā)分支,從Master創(chuàng)建得來。功能開發(fā)的基礎(chǔ)分支。新開發(fā)(例如功能和非緊急錯誤修復(fù))在功能分支中完成,并且僅在開發(fā)人員對代碼已準備好發(fā)布感到滿意時才合并回代碼主體中(Code Review)。

2.協(xié)作:功能分支還使兩個或多個開發(fā)人員更容易協(xié)作處理同一功能,因為每個功能分支都是一個沙盒,這使得查看和跟蹤每個協(xié)作者正在做的事情變得非常容易。

3.發(fā)布暫存區(qū):隨著新開發(fā)的完成,它會合并回開發(fā)分支,該分支是尚未發(fā)布的所有已完成功能的暫存區(qū)域。

4.支持緊急修復(fù):GitFlow支持修補程序分支,從標記的版本創(chuàng)建的分支。

Gitflow中的五大類分支

1. Master-主分支(發(fā)布)

主分支,用于正式發(fā)布的分支。不可直接基于該分支提交。只有經(jīng)過嚴格審核測試后的Develop或hotfix分支可以合并到master。

2. hotfix-修復(fù)分支(臨時分支)

熱修復(fù)分支,當master出現(xiàn)緊急bug時,基于master臨時拉出創(chuàng)建的分支,修復(fù)完成后合并到Develop和Master分支。

3. Release-預(yù)發(fā)布分支(測試分支)

預(yù)發(fā)布分支。當Develop上積累了一定的功能特性后,從Develop分支創(chuàng)建一個Release分支,做一些發(fā)布前的準備工作,不可開發(fā)功能。最終合并到master分支和develop分支。

4. develop-開發(fā)分支

開發(fā)分支,從master創(chuàng)建得來。功能開發(fā)的基礎(chǔ)分支。

5. Feature-xx -功能分支

功能分支,從Develop創(chuàng)建得來,開發(fā)測試完成后會合并到Develop分支。

*Feature到develop的合并要經(jīng)過CodeReview

CodeReview形式

1.在本地將分支代碼合并到目標分支(本地合并),然后push到目標分支,適用于目標分支有權(quán)限。

2.將本地分支Push到遠端倉庫,在代碼管理平臺頁面中指定目標分支發(fā)起分支合并并請求,對目標分支擁有權(quán)限的用戶審批并測試,確保無誤后統(tǒng)一請求完成合并。

*release向master的合并通常由組長或主程負責執(zhí)行

*dev分支不能直接向master合入,需要經(jīng)過release分支上的測試才能合入master

整個流程分支中,只有master和release分支才能部署到服務(wù)器中,并且部署環(huán)境不同

Master:對于開發(fā)后的項目部署到生產(chǎn)環(huán)境下,服務(wù)群體為用戶

Release:對于開發(fā)后的項目部署到測試環(huán)境下,服務(wù)群體為項目開發(fā)團隊

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容