代碼倉庫-SVN分支策略

SVN分支策略

SVN的分支策略也可以參考Git,但是由於SVN的分支其實是個目錄,所以使用太多分支,在權限分配和管理上會比較麻煩。所以日常使用SVN的分支策略基本都是固定分支。比如:trunk(相當於git中的develop分支),branch(測試分支),release(上線分支),tag,hotfix等來管理。

1. 雙分支管控

SVN三分支管控,採用trunk/branch進行管控,緊急上線使用hotfix分支。適用於按照迭代上線,上線需求不怎麼刪減的情況下使用。假如經常有需求不上線,回退代碼是很難受的。
在這裏插入圖片描述

  • trunk:開發分支,開發人員將本地驗證通過的代碼,按照既定備註格式提交到該分支。
  • branch:測試分支,測試/BM人員根據開發完成的需求,將相應的代碼從trunk分支更新到 branch 分支。並進行構建,部署到測試環境、準生產環境、生產環境。
  • tag: tag 分支,在 branch 分支上線後,基於 branch 分支創建tag分支。tag分支永遠與生產環境對應。

2.三分支管控

SVN的四分支管控,採用trunk/branch/release進行管控,緊急上線使用hotfix分支。適用於上線需求經常變化的項目。

在這裏插入圖片描述

  • trunk:開發分支,開發人員將本地驗證通過的代碼,按照既定備註格式提交到該分支。
  • branch:測試分支,測試/BM人員根據開發完成的需求,將相應的代碼從 trunk 分支更新到 branch 分支。並進行構建,部署到測試環境。
  • release: release 分支,測試/BM人員根據測試環境測試情況,將需要上線的且測試通過的需求,將相應代碼更新到 release 分支。並進行構建,部署到準生產環境、生產環境。
  • tag:tag 分支,在 release 分支上線後,基於 release 分支創建 tag 分支。tag 分支永遠與生產環境對應。

1.假如需求變化太大,建議使用動態release分支,刪除當前release分支,基於tag分支重新創建release分支。並將確定的上線需求對應的代碼,合併到release分支。