首页 > 代码库 > svn恢复到之前某个版本

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之后,还是会回到之前的版本。