“unadd"在提交前向SVN发送文件

我正在做一个递归的svn add/commit,其中包含了一个没有适当的忽略属性的文件夹。我有大约100个上传的二进制文件版本现在,但我还没有提交。

在不删除所有文档的情况下,最简单的“撤销”方法是什么?

136729 次浏览

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

从文档中可以找到: . sh . sh

 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 --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中,即使指定了——keep-local, svn rm也会删除未版本控制的文件。更多信息请参见http://svn.haxx.se/users/archive-2009-11/0058.shtml

用于文件- 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 ignore

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"