一直在找svn回滚的方法,这个还是非常有用的,屡试不爽阿
1) 先 svn up,保证更新到最新的版本号。如20;
2) 然后用 svn log ,查看历史改动,找出要恢复的版本号。如10 。
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” [文件或文件夹]。
前2步如方法1,然后直接 svn up -r 10。
常常因为坑爹的需求,功能要切回到之前的某一个版本号。有两种方法能够实现:
方法1: 用svn merge
假设想要更具体的了解情况,能够使用svn diff -r 10:20 [文件或文件夹];
这时svn库中会生成新的版本号,如21。
方法2: 用svn up
当前的工作版本号就是版本号10了。
可是注意,这时svn库中会并不会生成新的版本号,下次在本地svn up之后,还是会回到之前的版本号。