描述:
svn revert — 取消所有的本地编辑。
revert命令顾名思义就是对修改过的东西进行回滚操作。
恢复所有对文件和目录的修改,并且解决所有的冲突状态。svn revert不会只是恢复工作拷贝中一个项目的内容,也包括了对属性修改的恢复。最终,你可以使用它来取消所有已经做过的预定操作(例如,文件预定要添加或删除可以“恢复”)。
用法:
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert: 用法: revert PATH… 注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复 被删除的目录
例子:
1、一般有2种情况发生时需要用到回滚的操作
修改过的东西没有递交(commit)
这种情况下revert会取消之前的修改
svn revert [-R] xxx_file_dir
如果需要回滚的是一个目录则加上-R(递归)可选参数
2、改动的东西并且递交了
这种情况下,用svn merge命令来进行回滚。
步骤如下:
1)执行#svn update命令保证工作区文件是最新的,比如最新版本号是20
2)然后找出要回滚的确切版本号:
svn log xxx_file_dir
假设根据svn log日志查出要回滚的版本号是10,如果想要更详细的了解情况,可以使用svn diff -r 20:10 [xxx_file_dir]
3)回滚到版本号10:
svn merge -r 20:10 xxx_file_dir
4)提交回滚:
svn commit -m "注释..."
提交后版本变成了29
完毕
3、丢弃对一个文件的修改
svn revert foo.php
4、如果你希望恢复一整个目录的文件,可以使用--recursive选项
svn revert --recursive .
5、最后,你可以取消预定的操作
svn add mistake.txt whoops A mistake.txt A whoops A whoops/oopsie.c svn revert mistake.txt whoops Reverted mistake.txt Reverted whoops svn status mistake.txt whoops