View
737
Download
3
Category
Preview:
Citation preview
Wen Liao
A successful Git branching model 導讀
高雄,旗山
Disclaimer
投影片資料為作者整理資料及個人意見,沒有經過嚴謹確認,請讀者自行斟酌
目標
導讀 A successful Git branching model的軟體Release方式
URL:http://nvie.com/posts/a-successful-git-branching-model/
背景知識 Fast Forward Merge
簡稱FF
背景知識 Fast Forward Merge in GIT: Before
branch
Master
Branch Head
MasterHead
背景知識 Fast Forward Merge GIT: After
branch
Master
Branch Head
MasterHead
背景知識 非Fast Forward Merge in GIT: Before
branch
Master
Branch Head
MasterHead
背景知識 非Fast Forward Merge GIT: After
branch
Master
Branch Head
MasterHead
merge
為什麼要提FF?
● 可以保留branch更動的footprint
branch
Master
Branch Head
MasterHead
branch Master
Branch Head
MasterHead
mergeVS那一個比較清楚地顯示軟體branch的關聯
性?
作者的Branches 分類
● Main branches○ Master○ Develop
● Supporting branches○ Feature○ Release○ Hotfix
Main Branches Develop Master
branch
mergewhenproduction release
mergewhenproduction release
AKA:integration
Master: 保證product ready 狀態
Develop: ● 隨時為下一次
Release準備● 放
○ Feature○ Fix○ Release更動
■ 版號■ 路徑■ ...
Tag: 版號
Tag: 版號
Feature Branch
● 一定從develop branch出來● 寫完merge 回develop branch● 寫的不如預期可以宰掉● 一定要用NO FF● 可以定相關的branch name convention
Feature Branch: USE NO FF merge
branch
Develop
Branch Head
DevelopHead
merge
Release Branch
● 一定從develop branch出來● 用來處理Release相關事物
○ 改版號○ 改PATH○ ...
Release Branch
● Branch出來,處理Release相關事物中,如果發現錯誤,要merge 回develop branch
● 確認無誤,可以出貨後○ merge回develop和master○ master tag release版號○ 可以宰掉release branch
● 一定要用NO FF● 可以定相關的branch name convention
Release Branch: USE NO FF merge
branch
Develop
Release Head
DevelopHead
Bug fix
merge
merge
Master
MasterHead
Tag with version
Hotfix Branch
● 一定從master branch出來● 用來處理Release後被客戶或是QA抓包的錯
誤● 可以順便進版表示該版本是Fix bug,如1.2晉
升到1.2.1● 修正完畢要merger回master,視情況merge回
develop○ 因為有可能develop已無此功能或是已修正
Hotfix Branch
● 如果舊版正在進行hot fix,而新版release branch也正在進行中,請直接merge到release branch而不是develop branch
● 確認修正後,可以刪除該branch● 一定要用NO FF● 可以定相關的branch name convention
Hotfix Branch: USE NO FF merge
branch
Develop
HotfixHead
DevelopHead
Bug fix
merge
merge
Master
MasterHead
進版Bug fix
Recommended