2 回答

TA貢獻1825條經驗 獲得超4個贊
理解并合理使用git各種分支,便可實現高可用的商用開發模式。
Git 在整個開發周期會保持兩個“并行”的主要分支:
①origin/master:該分支的源碼HEAD始終指向可立即用于生產環境的狀態;
②origin/develop:該分支的源碼HEAD總是反映下一個版本的最新開發狀況。也可以叫它”整合分支“,從它開始每日的構建;
# 輔助分支 的使用
除了master和develop兩個主分支外,我們還需要其他輔助分支去完成并行開發、版本發布、快速修復生產環境Bug等操作,這些輔助分支的生命周期較短,通常在完成任務后立即被刪除。
①feature分支(功能分支):
從develop檢出:
shell> git checkout -b feature-xxx develop
完成功能后應該立即合并入develop分支,以確保功能被合并到即將發布的版本之中:
shell> git checkout develop shell> git merge --no-ff feature-xxx
* --no-ff 將在分支合并時創建新的提交對象,即使本次合并可以使用 fast-forward 提交。這可以避免丟失功能分支的歷史信息,把所有功能疊加提交入分支;
②release分支(發布分支):
從develop分支檢出
shell> git checkout -b release-*.* develop // *.*為版本號
這個分支主要用于 追求一些細節修改、小Bug修復以及發布版本的數據修改等,該分支不能用于大功能的開發,在版本發布完成之后合并回develop分支并清除。
# 發布進 mastershell> git checkout master shell> git merge --no-ff release-*.* shell> git tag -a *.*# 合并回 developshell> git checkout develop shell> git merge --no-ff release-*.*
③hotfix分支(熱修復分支):
該分支可能從master分支檢出,其本質是用于對生產版本進行快速修復。由于develop分支上的開發還不足夠穩定,無法并入生產版本,衍生出熱修復分支來解決問題
shell> git checkout -b hotfix-*.* master
在完成Bug修復之后,該分支需要合并回 master 和 develop 分支,以保證下一個版本中也修復了該Bug。操作與發布分支相似
# 合并入 mastershell> git checkout master shell> git merge --no-ff hotfix-*.* shell> git tag -a *.*.*# 合并入 developshell> git checkout develop shell> git merge --no-ff hotfix-*.*
- 2 回答
- 0 關注
- 445 瀏覽
添加回答
舉報