撤消svn添加,不恢复本地编辑

我不小心运行了svn add *并添加了一堆不应该在版本库中的文件。 我也有我想保留的一些文件的本地编辑。 有一个简单的方法来撤销svn add而不会恢复本地编辑? 我在Google上看到的主要build议是svn revert ,这被认为是撤消了当地的编辑。

那将是:

 svn rm --keep-local . 

这样的事情我也经历过。 😛

(注意尾随点)

如果这些文件位于尚未提交的目录下,则可以通过执行以下操作删除整个目录内容:

 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>

在我的情况下,我不需要目录,所以删除是安全的。 如果要在保存文件/目录之前将其保存到某个位置,然后再将其复制回去