SVN分支版本回滚

首先说明SVN是没有回滚这种操作的,我们只能通过一些操作来达到回滚的目的。

问题描述:假设在开发分支上有需求A和需求B,需求A需要近期上线,需求B近期不可以上线,但是某个同事将代码从开发合并到测试分支的时候在一个版本号内将A代码和部分B代码一起合并了,这个操作记为M。如果这个版本合并到生产分支,那么B部分代码将上生产,将产生不可恢复性的错误。因此需要将测试分支回滚到合并之前的最后一个版本。

解决方案:

1、找到svn服务器上的测试分支default1.0-->显示资源历史记录-->操作M对应版本号之前的一个版本号(就是需要被回滚的版本号)-->

从修订版创建分支/标记

路径放在当前文件路径下,名字不要跟测试当前分支名称一致。我起的名叫default3.0


2、将测试分支default3.0 check out到本地,重新合并代码,这里需要执行M操作的开发人员手动将耦合在一起的版本拆分,具体操作就是本地将需求B代码都注释或者删掉,提一次。恢复后再提一次,这样就是两个需求,两个版本。

3、将原default1.0改名或者删掉,建议改名,留个备份,将default3.0改名为default1.0,完成替换。这样就完成了svn代码分支的回滚,外部是无感知的,还是原来的default1.0,只不过内容已经变了。