commit tree of a real project
有時候如果沒有用適合的流程來使用Git,commit tree就會變成像上圖那樣讓人不易閱讀。
Git 分支模組開發流程
今天來跟大家介紹一下許多人在使用的Git branch開發最佳使用慣例,我現在工作上也是使用這種模式。下面的圖及內容都是參考 A successful Git branching model 這篇文章。
簡單來說,他將 branch 分成兩個主要分支(master, develop),三種支援性分支(Feature branches, Release branches, Hotfix branches):
- 主要分支 (The main branches)
- master: 主程式分支, 永遠處在 production-ready 狀態
- develop: 開發分支, 下次發布之前的開發最新進度
- 支援性分支 (Supporting branches)
- Feature branches: 開發新功能的分支, 從 develop 切出來, 功能開發完成再 merge 回 develop
- Release branches: 準備要 release 的版本, 在這上面只修 bugs, 從 develop 切出來, merge 回 develop 跟 master
- Hotfix branches: 有重大 bug 必須馬上修, 不能等到下次 release 版本才修時用的, 會從 master 分支出來,完成後 merge 回 master 和 develop