不管是個人開發獨立系統或是團隊合作專案,都需要將程式碼進行版本控管。Git 是目前最為廣泛使用的版本控制系統(Version Control Systems, VCS),使用 Git 的優點:
Git Flow由五種類型的分支:Main
, Develop
, Feature
, Hotfix
, Release
進行版控,有別於以主分支(master)為主,強調頻繁更新程式碼版本與快速反饋循環的 Trunk-Based Development。Git Flow 結構複雜,以不同類型的分支,代表各自的開發階段,並發展併版模式。
Main
:
Main
。Main
分支加上版本號標籤(例如 v1.0.0),方便追蹤和管理。Develop
:
Develop
分支,開發人員會進行新功能的開發和測試,新功能完成後,於發佈之前會先被整合在這裡。Develop
分支。Feature
:
Feature
分支都從 Develop
分支創出來,每個功能開發時會各自創一個 Feature
分支進行開發。Feature
分支會合併回 Develop
分支。Hotfix
:
Hotfix
分支會合併到 Main
分支和 Develop
分支。Release
:
Develop
分支創出來,用於準備和打包即將發佈的版本。Release
分支將在發佈版本之前進行最後的測試及錯誤修復。Release
分支會合併到 Main
分支,並且打上版本號標籤。它也會合併回 Develop
分支,保持與 Develop
同步。Develop
分支可持續進行開發,且保持穩定。
(圖片來源:gitflow-workflow)
適合用於長期維護的專案與大型專案,能夠有效管理多個開發階段與版本。