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

jon*_*rry 154 svn

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

小智 279

那将是:

svn rm --keep-local .
Run Code Online (Sandbox Code Playgroud)

这样的事情我也经历过.:-P

(注意尾随点)

  • 请注意,您必须为命令添加文件名,以便将其命名为`svn rm --keep-local FILENAME`.`FILENAME`可以使用*来匹配多个文件(如果你有幸拥有一个模式). (7认同)
  • 警告! - 在使用svn externals时使用此命令也会删除所有附加的外部... (3认同)
  • 如果你提交这个,提交是否包括从 repo 中删除有问题的文件? (2认同)

Jua*_* NR 34

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

svn delete --keep-local /path/to/directory
Run Code Online (Sandbox Code Playgroud)

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

svn changelist somename /file/to/be/committed
svn commit --changelist somename
Run Code Online (Sandbox Code Playgroud)


Bri*_*sey 6

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

  1. 备份本地文件
  2. 恢复SVN结帐
  3. 恢复文件

-

rsync -av --exclude .svn/ YOURDIR/ YOURDIR.bak
svn revert -R YOURDIR
rsync -av YOURDIR.bak/ YOURDIR 
Run Code Online (Sandbox Code Playgroud)