創建新分支以后,切換到該分支,添加版本號。這里,bump-version.sh 是一個虛構的shell腳本,它可以復制一些文件來反映新的版本(這當然可以手動改變–目的就是修改一些文件)。然后版本號被提交。
這個新分支可能會存在一段時間,直到該發行版到達它的預定目標。在此期間,bug的修復可能被提交到該分支上(而不是提交到develop分支上)。在這里嚴格禁止增加大的新features。他們必須合并到develop分支上,然后等待下一次大的發行版。
完成一個release分支
當一個release分支準備好成為一個真正的發行版的時候,有一些工作必須完成。首先,release分支要合并到master上(因為每一次提交到master上的都是一個新定義的發行版,記住)。然后,提交到master上必須打一個標簽,以便以后更加方便的引用這個歷史版本。最后,在release分支上的修改必須合并到develop分支上,以便未來發行版也包含這些bugs的修復。
在Git中的前兩步是:
1
2
3
4
5
6
|
$ git checkout master Switched to branch 'master' $ git merge --no-ff release-1.2 Merge made by recursive. (Summary of changes) $ git tag -a 1.2 |
發行版現在已經完成,為以后引用打上標簽。
編輯:你可能也想使用the-sor-u flags來標記你的標簽。
為了是修改保持在release分支上,我們需要合并這些到develop分支上去,在Git上:
1
2
3
4
5
|
$ git checkout develop Switched to branch 'develop' $ git merge --no-ff release-1.2 Merge made by recursive. (Summary of changes) |
這個步驟可能會導致合并沖突(可能由于改變版本號更是如此)。如果是這樣,修復它然后提交。
現在我們真正的完成了,這個release分支將被刪除,因為我們不再需要它了。
1
2
|
$ git branch -d release-1.2 Deleted branch release-1.2 (was ff452fe). |
熱修復分支
可以基于master分支,必須合并回develop和master分支。
分支名約定:hotfix-*
熱修復分支與發布分支很相似,他們都為新的生成環境發布做準備,盡管這是未經計劃的。他們來自生產環境的處于異常狀態壓力。當生成環境驗證缺陷必須馬上修復是,熱修復分支可以基于master分支上對應與線上版本的tag創建。
其本質是團隊成員(在develop分支上)的工作可以繼續,而另一個人準備生產環境的快速修復。
創建修補bug分支
hotfix branch(修補bug分支)是從Master分支上面分出來的。例如,1.2版本是當前生產環境的版本并且有bug。但是開發分支(develop)變化還不穩定。我們需要分出來一個修補bug分支(hotfix branch)來解決這種情況。
原文轉自:http://blog.jobbole.com/34706/