撤消svn添加而不还原本地编辑

时间:2011-02-22 20:00:10

标签: svn

我不小心跑了svn add *并添加了一堆不应该在存储库中的文件。我也想在一些文件中进行本地编辑。是否有一种简单的方法可以在不恢复本地编辑的情况下撤消svn add?我在Google上看到的主要建议是svn revert,据说可以撤消本地修改。

4 个答案:

答案 0 :(得分:273)

那将是:

svn rm --keep-local .

同样的事发生在我身上。 :-P

(注意尾随点)

答案 1 :(得分:34)

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

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

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

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

答案 2 :(得分:6)

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

  1. 备份您的本地文件
  2. 还原SVN结帐
  3. 恢复文件
  4. -

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

答案 3 :(得分:2)

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

svn rm --force <directory-name>

在我的情况下,我不需要该目录,因此可以安全删除。如果要在应用命令之前将文件/目录保存到某个位置,然后将其复制回来

相关问题