這篇文章不會說明 Git 如何使用,Git操作推薦高見龍的「為你自己學Git」系列~
當在同一個專案的開發人員越來越多,如果沒有事先定義規範,會因為每個人的開發習慣不同,因而造成版本開發上的不一致性,於是在2010 年,有人推出了一套git flow 流程讓大家可以遵守,當然git flow是一個概括性的流程,實際上還是需要視情況調整為適合團隊的協作模式。
git flow分支主要包含五種「Master, Developer, Feature, Release, Hotfix」每一種分支負責處理不同的功能
Master: Master分支會專門放正式發布版本或隨時可以上線的版本,每一個在Master的來源都會是從其他分支合併進來,並且通過了所有測試,通常開發人員不會直接commit在Master分支上
Developer: 開發人員通常會以Developer這條分支為基礎,再開出Feature分支進行新功能的開發,當Feature的功能開發完畢,Feature的分支會合併回Developer
Feature: Feature分支裡面主要是用來處理開發新功能,會是基於Developer分支開出來,功能完成時,在把開出來的Feature分支合併回Developer分支
Release: Release分支通常是以Develop分支為基礎建立的,當Developer分支上的功能都已經完成,經過了測試,並且項目準備進行新版本的發布時,就可以從Developer分支創建一個新的Release分支,Release 分支將會同時合併到 Master 以及 Develop 這兩個分支上,Master 分支是上線版本,在合併回 Develop 分支的目的,是因為可能在 Release 分支上還會測到並修正一些問題,所以需要跟 Develop 分支同步
HotFix: 在Master分支中出現重大錯誤時,可以直接從Master分支建立HotFix分支來快速實施錯誤修正,修正完成後,HotFix分支要在合併回Master分支和Developer分支。
合併回Developer的原因是如果開發分支沒有這個修正版本,那麼之後要推新版本時,這個錯誤會再出現一次
參考文章
Gitflow Workflow
Git Flow 是什麼?為什麼需要這種東西?
團隊協作 Git Flow
Git 和 Git Flow 是什麼?如何應用?
How to use git flow