撤消 svn add 操作而不用还原本地的修改

我不小心运行了 svn add *并添加了一些不应该在存储库中的文件。但我想保留一些文件的本地编辑部分。有没有一种简单的方法只是撤消 svn add而不恢复本地编辑?我在谷歌上看到的主要建议是 svn revert,但它可能会取消本地编辑。

80107 次浏览

那就是:

svn rm --keep-local

同样的事情发生在我身上

许多人评论说你应该使用:

svn rm --keep-local FILENAME

对一个或多个文件应用该命令。(第一个命令将适用于所有可能产生意外副作用的情况。)

如果这些文件位于尚未提交的目录下,您可以通过以下操作从下一次提交中删除整个目录内容:

svn delete --keep-local /path/to/directory

但是,如果这些文件已经在存储库中,并且现在包含您不想提交的更改,那么您可以使用变更列表提交其余的文件:

svn changelist somename /file/to/be/committed
svn commit --changelist somename

您可以通过以下方式修复您的结帐:

  1. 备份你的本地文件
  2. 恢复 SVN 检查
  3. 恢复文件

-

rsync -av --exclude .svn/ YOURDIR/ YOURDIR.bak
svn revert -R YOURDIR
rsync -av YOURDIR.bak/ YOURDIR

我也遇到了同样的问题,我不小心通过 svn add添加了一个/目录,其中包含了二进制文件和编译后的文件。这个命令实际上删除了目录。

svn rm --force <directory-name>

在我的情况下,我不需要目录,所以它是安全的删除。如果您希望保存文件/目录,那么在应用命令之前将它们保存到一个位置,然后将它们复制回来