Answers:
用 svn revert --recursive folder_name
svn revert
从本质上讲是危险的,因为它的全部目的是丢弃数据-即您未提交的更改。还原后,Subversion将无法取回这些未提交的更改。
http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.revert.html
svn revert
它还通过还原最新版本来删除工作副本中新添加的更改HEAD
。我删除了我的否决票,但我仍然觉得警告很重要。
svn rm --keep-local folder_name
注意:在svn 1.5.4中,即使指定了--keep-local,svn rm也会删除未版本控制的文件。有关更多信息,请参见http://svn.haxx.se/users/archive-2009-11/0058.shtml。
尝试svn revert filename
每个不需要且尚未提交的文件。或者svn revert -R folder
,对有问题的文件夹执行操作,然后使用正确的忽略配置重新执行操作。
you can undo any scheduling operations:
$ 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 revert
。这里没有任何答案提到恢复将丢失本地更改的事实。
全过程(Unix svn软件包):
检查文件不在SVN中:
> svn st -u folder
? folder
全部添加(包括忽略的文件):
> svn add folder
A folder
A folder/file1.txt
A folder/folder2
A folder/folder2/file2.txt
A folder/folderToIgnore
A folder/folderToIgnore/fileToIgnore1.txt
A fileToIgnore2.txt
删除“添加”标志到所有*忽略*文件:
> cd folder
> svn revert --recursive folderToIgnore
Reverted 'folderToIgnore'
Reverted 'folderToIgnore/fileToIgnore1.txt'
> svn revert fileToIgnore2.txt
Reverted 'fileToIgnore2.txt'
在文件夹上编辑svn忽略
svn propedit svn:ignore .
用以下内容添加两条单行:
folderToIgnore
fileToIgnore2.txt
检查哪些文件将被上传并提交:
> cd ..
> svn st -u
A folder
A folder/file1.txt
A folder/folder2
A folder/folder2/file2.txt
> svn ci -m "Commit message here"
revert
如果不指定修订版本,则将撤消自上次检出以来指定文件的所有更改,包括添加/删除计划更改。