svn恢复到之前某个版本号

一直在找svn回滚的方法,这个还是非常有用的,屡试不爽阿
常常因为坑爹的需求,功能要切回到之前的某一个版本号。有两种方法能够实现:
方法1: 用svn merge
 1) 先 svn up,保证更新到最新的版本号。如20;
 2) 然后用 svn log ,查看历史改动,找出要恢复的版本号。如10 。

假设想要更具体的了解情况,能够使用svn diff -r 10:20 [文件或文件夹];

 3) 回滚到版本10:svn merge -r 20:10 [文件或文件夹],注意版本之间的顺序,这个叫反向合并。
 4) 查看当前工作版本号中的文件,如test.cpp和版本号号10中文件的区别:svn diff -r 10 test.cpp, 有区别则手动改之;
 5) 若无区别,则提交:svn ci -m“back to r 10,xxxxx” [文件或文件夹]。

这时svn库中会生成新的版本号,如21。

方法2: 用svn up
 前2步如方法1,然后直接 svn up -r 10。

当前的工作版本号就是版本号10了。

可是注意,这时svn库中会并不会生成新的版本号,下次在本地svn up之后,还是会回到之前的版本号。

原文地址:https://www.cnblogs.com/bhlsheji/p/5223141.html