svn有`revert-all`命令吗?

Eri*_*son 158 svn command-line

如果我想丢弃所有更改,并返回到存储库中的代码,我会执行以下操作:

$ rm -fr *
$ svn up
Run Code Online (Sandbox Code Playgroud)

这很容易,但我想知道是否有一个命令可以实现这一点,例如:

$ svn revert-all
Run Code Online (Sandbox Code Playgroud)

Jua*_*ñoz 301

你可以这样做:

svn revert -R .
Run Code Online (Sandbox Code Playgroud)

这不会删除任何不受版本控制的新文件.但您可以轻松编写shell脚本来执行以下操作:

for file in `svn status|grep "^ *?"|sed -e 's/^ *? *//'`; do rm $file ; done
Run Code Online (Sandbox Code Playgroud)

  • 欢迎来到SO,感谢您的回答,因为`svn revert -R`并不等同于我给出的两个命令. (2认同)

bil*_*aha 27

有一个命令

svn revert -R .
Run Code Online (Sandbox Code Playgroud)

或者
您可以使用--depth = infinity,它实际上与上面相同:

svn revert --depth=infinity 
Run Code Online (Sandbox Code Playgroud)

svn revert本质上是危险的,因为它的全部目的是丢弃数据 - 即你未提交的更改.一旦你还原,Subversion就无法取回那些未提交的更改

  • `-R`相当于`--depth = infinity` (7认同)
  • 您的cmd"svn revert -R"缺少语法中的当前目录..它应该是"svn revert -R". (4认同)

Chr*_*ris 17

使用递归开关--recursive(-R)

svn revert -R .
Run Code Online (Sandbox Code Playgroud)