(13) Git 練功坊- git flow 團隊合作流程
什麼是 git flow
Git Flow 是一個 Git 分支管理模型,由 Vincent Driessen 在 2010 年提出,旨在使軟體開發過程中的分支管理更加有條理和高效。這個模型適合較為複雜、長期的軟體開發專案,尤其是涉及多個開發人員和版本發佈的情況。
Git Flow 主要有五種分支類型,每個分支都有明確的用途:
- Master 分支:
master 分支始終代表著已經發佈的穩定版本。只有從 develop 分支合併來的代碼經過測試並準備好發佈時,才會進入 master 分支。
- Develop 分支:
develop 分支用來整合所有開發分支,並作為下一個版本的基礎。所有新功能和改進都是先合併到 develop 分支。
- Feature 分支:
feature 分支用於開發新功能。每個新功能都有自己獨立的 feature 分支,這些分支都是從 develop 分支創建,並最終合併回 develop 分支。分支命名通常為 feature/<feature-name>
。
- Release 分支:
當 develop 分支準備好進行新版本發佈時,會創建一個 release 分支。這個分支用於最後的測試和修正,在確認無誤後,會合併到 master 和 develop 分支,並打上版本標籤。
- Hotfix 分支:
當在 master 分支上發現嚴重問題時,會從 master 分支創建一個 hotfix 分支來進行修復。修復完成後,這個分支會合併回 master 和 develop 分支。
Git Flow 的基本流程
創建一個新的 feature 分支:
從 develop 分支創建一個新的 feature 分支:
1 | git checkout develop |
開發完成後,將 feature 分支合併回 develop 分支:
1 | git checkout develop |
創建一個 release 分支:
從 develop 分支創建一個 release 分支:
1 | git checkout develop |
進行測試與修正,然後合併回 master 和 develop:
1 | git checkout master |
創建一個 hotfix 分支:
從 master 分支創建一個 hotfix 分支來修復問題:
1 | git checkout master |
修復完成後,合併回 master 和 develop:
1 | git checkout master |