不管是個人開發獨立系統或是團隊合作專案,都需要將程式碼進行版本控管。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)
適合用於長期維護的專案與大型專案,能夠有效管理多個開發階段與版本。