版本控制幾乎是全部開發項目的必備,Git是目前主流的版本控制系統,下面介紹幾種經常使用的工做流程。git
目錄:測試
這是最簡單的工做流模式,只使用master分支。spa
這種方式只適合於很是小的項目,例如我的項目。翻譯
當團隊增加後,這種方式會極其混亂,產生大量的代碼衝突。版本控制
在上種方式上添加了 feature 特徵分支。blog
每一個 feature 分支都是用來開發某個新功能,以便與項目的其餘部分隔離。生命週期
當 feature 分支中的功能開發完成後,這個分支就合併到 master 分支。開發
因此 feature 分支的生命週期比較短。rem
開發分支基於 master 分支建立,並與 master 同樣長期存在。get
開發分支是開發時隨時提交的代碼,master 分支中是達到可發佈狀態的代碼。
這種模式與最簡模式同樣,只適合很是小的團隊。
這2種策略能夠很好的混合使用。
master 分支中老是可發佈的代碼。
feature 分支只與 developer 分支合併。
當 developer 分支中的代碼測試經過後,合併到 master 分支,而後發佈。
在上一種模式上進行了擴展,這種方式適用於頻繁發佈的大型項目。
當 feature 都開發完成,合併到 developer 分支,測試經過後進入到發佈狀態,這時,建立一個 release 分支。
release 爲預上線分支,若是上線前發現了bug,在 release 上進行修改提交,這樣就能夠容許其餘團隊在不干擾發佈工做的狀況下處理新功能。
當 release 肯定發佈時,要合併到 master 和 developer 分支。
這種模式基礎上還有一種擴展:hotfix分支,用於修復緊急bug,從 master 建立,修復完成後,合併到 master 和 developer 分支。
也就造成了這個經典的 git 工做流圖:
翻譯整理自:
https://medium.com/@jurtzmarc...