0x00 问题场景
最近一次代码提交使版本更新到101,测试刚发来消息101版本有问题,就在此时,老板要求现在要对外发布一个产品版本,问这种情况该怎么办?
打脸解决不了问题,女装什么的后面可以来一套,正确的姿势是回滚生产分支到100版本。
0x01 回滚方法
方法一: 使用版本log功能
-
右击要回滚的文件或文件夹, TortoiseSVN -> Show log, 如下图:
-
选择你要恢复到(revert)的版本。我这里直接要全部回滚到某个版本就是用了Revert to this revision. 如果你想撤销(undo)一个段版本范围,选择第一个,按住Shift键选中最后一个。如果需要选择一些分离的版本,请使用Ctrl键。右击被选中的版本,选择Context Menu -> Revert Changes from this revision.这两种的区别是第一个很彻底,第二种只修改选中的部分。
-
现在的文件已经revert(恢复)成了你想要的历史状态,commit即可。
方法二: 使用merge功能
- 右击需要回滚的文件或文件夹,选择 TortoiseSVN → Merge
- 在Merge Type 对话框中选择Merge a range of revisions.
- 在From字段输入仓库的url路径,一般默认就行;
- 在Revision range to merge 字段输入回滚的版本列表(或者使用log对话框选择)
- 确认Reverse merge选项被勾选上
- 在Merge option对话框上接受默认配置
- 单击Merge完成合并。
0x02 小结
- 百度上的有说回退的,有说回滚的,有说revert的完全不知道想表达什么
- 本文主要叙述了修改已经提交,需要roll back版本的情况
- 如果修改没有commit,请直接revert即可
0x03 参考文献
https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html
https://www.cnblogs.com/tommy-huang/p/4729634.html