SVN分支版本回滚
2018-02-05 11:09
585 查看
首先说明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,只不过内容已经变了。
问题描述:假设在开发分支上有需求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,只不过内容已经变了。
相关文章推荐
- SVN 回滚版本 分支合主线 主线更新到分支
- svn回滚版本
- [0] 解决版本冲突-使用SVN主干与分支功能
- 关于SVN版本分支合并的知识
- svn如何回滚到之前版本
- Ubuntu下svn回滚到指定版本
- SVN版本控制与分支设置
- SVN主干上删除代码后分支tag不再有版本记录
- SVN版本控制与分支设置
- svn TortoiseSVN 回滚版本
- SVN版本控制与分支设置
- svn问题:在eclipse里面使用SVN,怎么实现版本回滚呢?
- Windows下SVN回滚到旧版本(TortoiseSVN)
- svn 回滚版本库里的版本
- 版本控制之五:SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤(转)
- SVN分支版本管理
- svn版本库包含多个项目 ; git svn clone; 某一个子项目,有多个分支;
- svn 版本回滚(转)
- svn文件回滚到某个历史版本
- [原创]项目svn版本控制中的分支策略