在提交之前“取消”添加一个文件到svn

我正在做一个recursion的svn添加/提交,并没有包含适当的忽略属性的文件夹。 我现在有大约100个上传的二进制文件版本,但是我还没有提交。

什么是最简单的方法来“撤消”这个,而不删除所有的文件?

使用svn revert --recursive folder_name


警告

svn revert本质上是危险的,因为它的全部目的是丢弃数据 – 也就是你未经承诺的改变。 一旦你恢复了,Subversion 没有办法找回那些未提交的改变。

http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.revert.html

svn rm --keep-local folder_name

注意:在svn 1.5.4 svn rm中,即使指定了–keep-local,也会删除未版本化的文件。 有关更多信息,请参阅http://svn.haxx.se/users/archive-2009-11/0058.shtml

尝试svn revert filename每个文件,你不需要和尚未提交的文件svn revert filename 。 或者, svn revert -R folder有问题的文件夹的svn revert -R folder夹,然后用正确的忽略configuration重新执行操作。

从文档:

  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 filename

对于文件夹 – svn revert -R folder

全过程(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 fileToIgnore1.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"