代码仓库-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分支。