SVN删除 --保留本地文件

20

我正在处理一个项目,其中有一些不应该在存储库中的文件和文件夹被检入了,而应该在我们的本地环境中。我尝试使用以下命令来删除它们,但出现了以下错误:

svn delete filename --keep-local
svn: invalid option: --keep-local

2
你使用的 SVN 版本是哪个?--keep-local 是在较新的版本中才添加的。 - Pace
3个回答

22

2
请记住,如果您拥有Tortoise或Ankh的最新版本,这并不会升级您的命令行客户端。 :) - Dave Markle
在TortoiseSVN中是否有类似于--keep-local的选项? - mbx
6
发现了:SHIFT+右键单击打开扩展菜单,其中包含删除(保留本地)选项。 - mbx

13
请注意:delete --keep-local仅在您的本地工作副本中保留已删除的文件/文件夹。
当您的同事执行下一次update时,受影响的文件/文件夹将在他们的工作副本中被删除。
许多人认为keep-local选项并不像他们想象中那么有用。

1
有时这实际上是很有帮助的。例如,在 Linux 上,svn 忽略文件权限的更改后,文件的初始提交。如果您有一个忘记标记为可执行的 shell 脚本,这可能会让人沮丧。我将删除 svn 的副本,同时保留我的本地版本,确保我设置的权限正确,然后将文件重新添加到版本控制中,shell 脚本就可以永久可执行了。 - Niko

6

正如wcoenen和Dave Markle所说,你使用的是没有--keep-local选项的旧版本。具体来说,这个选项是在1.5版本中引入的。

以下是解决方法:

  1. 将文件从工作副本中复制出来
  2. svn delete
  3. svn commit
  4. 将它们复制回工作副本
  5. 将它们添加到svn:ignore中,以防止再次检查它们!

我给这个+1是因为即使使用了keep-local选项,我仍然无法从我的代码库中删除几年来错误添加的二进制文件。使用keep-local和svn:ignore只会完全删除我的文件-我仍然需要保留它们,但我不想让它们出现在我的代码库中 :) - Steve Hill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接