我正在做一个递归的svn add/commit,并且包含了一个没有正确的ignore属性的文件夹.我现在有大约100个已上传的二进制文件版本,但我尚未提交.
在不删除所有文档的情况下,"撤消"此操作的最简单方法是什么?
Jul*_*ain 237
使用 svn revert --recursive folder_name
svn revert
本质上是危险的,因为它的全部目的是丢弃数据 - 即你未提交的更改.一旦你恢复,Subversion提供没有办法找回那些未提交的更改.
http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.revert.html
Bri*_*acy 141
svn rm --keep-local folder_name
注意:在svn 1.5.4中,即使指定了--keep-local,svn rm也会删除未版本控制的文件.有关更多信息,请参见http://svn.haxx.se/users/archive-2009-11/0058.shtml.
bob*_*bah 30
尝试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
Run Code Online (Sandbox Code Playgroud)
完整流程(Unix svn包):
检查文件不在 SVN 中:
> svn st -u folder
? folder
Run Code Online (Sandbox Code Playgroud)
添加全部(包括忽略的文件):
> 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
Run Code Online (Sandbox Code Playgroud)
删除所有 * 忽略 * 文件的“添加”标志:
> cd folder
> svn revert --recursive folderToIgnore
Reverted 'folderToIgnore'
Reverted 'folderToIgnore/fileToIgnore1.txt'
> svn revert fileToIgnore2.txt
Reverted 'fileToIgnore2.txt'
Run Code Online (Sandbox Code Playgroud)
编辑 svn 忽略文件夹
svn propedit svn:ignore .
Run Code Online (Sandbox Code Playgroud)
添加两条单行,内容如下:
folderToIgnore
fileToIgnore2.txt
Run Code Online (Sandbox Code Playgroud)
检查哪些文件将被上传并提交:
> cd ..
> svn st -u
A folder
A folder/file1.txt
A folder/folder2
A folder/folder2/file2.txt
> svn ci -m "Commit message here"
Run Code Online (Sandbox Code Playgroud)