2016-10-06 92 views

回答

4

所不同的是目標和過程。當您準備即將發佈的版本時,通常會創建release分支。當您應該發佈的所有feature分支已合併到develop分支時,您將創建release分支develop分支並僅提交錯誤修復或對其進行一些配置更改。換句話說,你儘量使它儘可能穩定。當希望release分支足夠穩定時,您可以將其合併回developmaster分支。 master分支的目的是始終擁有可部署到生產環境的最新穩定版項目。您從不直接向主分支提交,只從releasehotfix分支合併到它。也可以將CI/CD工具配置爲在master分支的任何更新中部署到生產環境。

5

一旦您開發的所有功能都處於開發階段,而不是「鎖定」開發到任何新的提交,您將創建relase分支,該分支將包含您的下一個版本中預期的所有功能(而不是掌握,因爲你的整個版本應該測試,並可能會有一些錯誤修正...)。

  • 在這個分支你只有bug修復,文檔等等,但沒有新的功能
  • 您的開發分支沒有被鎖定了,下一個版本這樣的新功能仍可以COMMITED上進行開發/推並進行測試。
  • 發佈分支非常適合在分段/產品前環境中部署,並讓QA測試您的版本。
  • 一旦發佈分支穩定後,您可以將其合併到master並轉到prod。大師應該始終保持穩定和穩定(如果沒有的話)。

你可以看看這些鏈接進行進一步的解釋:

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow http://nvie.com/posts/a-successful-git-branching-model/#feature-branches

相關問題