版本控制幾乎是所有開發項目的必備,
Git是目前主流的版本控制系統,下面介紹幾種常用的工作流程。目錄:
- 最簡模式
- 特徵分支
- 開發分支
- 開發 + 特性分支
- 發佈分支
1. 最簡模式
這是最簡單的工作流模式,只使用master分支。
這種方式只適合於非常小的項目,例如個人項目。
當團隊增長後,這種方式會極其混亂,產生大量的代碼衝突。
2. Feature 特徵分支
在上種方式上添加了 feature 特徵分支。
每個 feature 分支都是用來開發某個新功能,以便與項目的其他部分隔離。
當 feature 分支中的功能開發完成後,這個分支就合併到 master 分支。
所以 feature 分支的生命週期比較短。
3. Developer 開發分支
開發分支基於 master 分支創建,並與 master 一樣長期存在。
開發分支是開發時隨時提交的代碼,master 分支中是達到可發佈狀態的代碼。
這種模式與最簡模式一樣,只適合非常小的團隊。
4. Developer + Feature 混搭
這2種策略可以很好的混合使用。
master 分支中總是可發佈的代碼。
feature 分支只與 developer 分支合併。
當 developer 分支中的代碼測試通過後,合併到 master 分支,然後發佈。
5. Release 發佈分支
在上一種模式上進行了擴展,這種方式適用於頻繁發佈的大型項目。
當 feature 都開發完成,合併到 developer 分支,測試通過後進入到發佈狀態,這時,創建一個 release 分支。
release 為預上線分支,如果上線前發現了bug,在 release 上進行修改提交,這樣就可以允許其他團隊在不干擾發佈工作的情況下處理新功能。
當 release 確定發佈時,要合併到 master 和 developer 分支。
這種模式基礎上還有一種擴展:hotfix分支,用於修復緊急bug,從 master 創建,修復完成後,合併到 master 和 developer 分支。
也就形成了這個經典的 git 工作流圖:
閱讀更多 性能與架構 的文章