1. 什麼是 Gitflow?
Gitflow 是將工作整理至分支與子分支的管理方式。對於擁有多為開發人員的團隊來說,在軟體開發公司中執行複雜的開發流程至關重要。為應對這項需求,這類團隊會經常使用分支技術來規劃與建構開發流程、管理新變更,並提升工作效率。
Gitflow 圖 可用於規劃與說明團隊適用的工作流程策略,在正式導入前取得認可與回饋。此外,Gitflow 圖也可用於展示開發團隊現行程序的執行方式。

Gitflow 圖的分支
主分支(Main Branch)
Gitflow 圖的主分支用於存放可正式發布的產品環境程式碼,在任何專案一開始就會建立。經過適當審查與測試後,其他分支會合併至主分支。可在不同提交節點標記分支,代表程式碼的不同版本或發布。
開發分支(Develop Branch)
開發分支在專案一開始建立,並在開發過程中持續更新。它包含正式環境前的程式碼與正在測試的新開發功能。新功能應以開發分支為基礎開發,完成測試後再合併回去。
支援分支(Supporting Branches)
Gitflow 圖也包含三種支援分支:
功能分支(Feature Branch)
Git-flow 圖中的功能分支用於開發人員為程式碼加入新功能時。開發新功能時,請從開發分支獨立建立功能分支,功能完成並檢查後,再將變更合併回開發分支。
發布分支(Release Branch)
建立新產品發布時應使用發布分支。發布分支的工作通常包含小型錯誤修正,以及專屬於新程式碼發布的最後調整,這部分程式碼應與主要開發分支分開處理。
熱修復分支(Hotfix Branch)
Git Flow 中的熱修復分支用於處理主分支的緊急變更。熱修復分支應以主分支為基礎,完成後必須同時合併回主分支與開發分支。務必將熱修復分支的修改合併回開發分支,確保下次部署時,修復內容仍保留在主分支中。
2. Gitflow 圖範例
透過範例來了解 Gitflow 模型的運作方式。
範例 1:Git Flow 流程
假設你任職於軟體開發公司,主管指派了任務,所有團隊成員都在開發分支上工作。直接從開發分支建立功能分支來處理你的任務。完成修改後,將功能整合至開發分支。部署管理者會將主分支與開發分支合併,產品環境伺服器會使用你的主分支。

範例 2:Git Flow 模型
在這個範例中,熱修復直接套用到主分支。這個架構展示了發行候選版本建置後的流程,包含自動每日建置分支、開發人員私人分支上平行開發的功能分支,以及發行候選版本建立後的處理方式。如你所見,開發分支管理方式可能相當複雜,視覺化呈現後會更容易理解。

範例 3:Git 工作流程圖
在這個範例中,熱修復分支用於快速修補產品發布版本,這是唯一可以直接從主分支分離的分支。修復完成後應盡快合併回主分支與開發分支,並為主分支更新版本編號標記。

3. 如何建立 Gitflow 圖?
- 開始繪製 Gitflow 圖時,先介紹主分支,畫一個圓圈,連接一條線並向右延伸。
- 在圖表中加入第二個分支,拖曳至主分支下方,作為開發中的開發分支。
- 透過連接分支將內容關聯起來,在主分支與開發分支的圓圈之間加入箭頭。
- 在開發分支下方加入功能分支,說明個別功能的開發流程,完成後再合併回開發分支。
- 將發布分支放在開發分支與主分支之間,說明從開發環境移至產品環境的工作。
- 最後設計圖表,加入顏色與標籤。建議為每個功能分支設定專屬顏色,讓圖表更清晰。
4. 線上 Gitflow 圖製作工具
如果你是初學者,在不瞭解功能的情況下使用線上 Gitflow 圖製作工具,可能會遇到困難。選擇製作Gitflow 圖的工具時,EdrawMax 是完美的選擇。这套軟體支援所有作業系統,包括 Windows、Mac 與 Linux。使用者可快速存取軟體,製作線上 Git Flow 圖。EdrawMax 支援團隊協作,你可以輕鬆與團隊共同建立完善的圖表。使用 EdrawMax,你能透過數千種預設範本製作超過 280 種圖表,並依專案圖表需求自訂範本。
5. 重點整理
Gitflow 圖 讓平行開發更容易管理,因為它將新開發內容與已發布專案分離。新功能在功能分支上開發,開發人員確認程式碼無誤後再合併回去。你可以處理專案的任何版本,因此開發人員需要為專案製作高效的 Gitflow 圖,透過 EdrawMax 就能輕鬆完成;這套軟體內建數千種範本與實用功能,可製作符合需求的自訂 Git Flow 圖。