名称

svn revert — 取消所有的本地编辑。

概要

svn revert PATH...

描述

恢复所有对文件和目录的修改,并且解决所有的冲突状态。svn revert不会只是恢复工作拷贝中一个项目的内容,也包括了对属性修改的恢复。最终,你可以使用它来取消所有已经做过的预定操作(例如,文件预定要添加或删除可以“恢复”)。

别名

改变

工作拷贝2

是否访问版本库

选项

--targets FILENAME
--recursive (-R)
--quiet (-q)
--config-dir DIR

例子

丢弃对一个文件的修改:

$ svn revert foo.c
Reverted foo.c

如果你希望恢复一整个目录的文件,可以使用--recursive选项:

$ svn revert --recursive .
Reverted newdir/afile
Reverted foo.c
Reverted bar.txt

最后,你可以取消预定的操作:

$ 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

警告

svn revert本身有固有的危险,因为它的目的是放弃数据—未提交的修改。一旦你选择了恢复,Subversion没有方法找回未提交的修改。

如果你没有给svn revert提供了目标,它不会做任何事情—为了保护你不小心失去对工作拷贝的修改,svn revert需要你提供至少一个目标。