撤消SVN删除./* --force

时间:2009-04-14 02:10:25

标签: svn disaster-recovery

我没有意识到svn delete会删除我的本地副本,我只想将它从存储库中删除。现在我的所有文件都消失了,它们也不在垃圾箱里。有什么方法可以恢复它们吗?


我应该澄清一下,这些文件永远不会进入存储库。我试图摆脱存储库中的一些旧垃圾,以便我可以检查这些。

我在ext3文件系统上运行Ubuntu。虽然没关系....我设法重做我在大约2小时内删除的内容。

7 个答案:

答案 0 :(得分:3)

<强>不。

除非他们仍被其他应用程序使用,否则抱歉。

答案 1 :(得分:1)

难道你不能在新目录中查看你再次使用的内容吗?如果您有任何未版本化的更改,那么您就是SOL,您可以将其他任何内容恢复为存储库中的最新版本。

答案 2 :(得分:1)

转到文件目录

svn revert "filename"

将恢复本地删除但尚未提交但已受版本控制的任何文件。

答案 3 :(得分:0)

您使用了'svn delete'命令并删除了本地副本。这意味着SVN历史记录中仍然存在原始版本的文件。 'svn delete'不会从存储库中删除文件的历史记录。您可以按照以下方式恢复上一个版本

  1. 检查SVN日志并找出“删除操作”的修订号。
  2. 使用'svn checkout'检查'删除操作'之前的版本。 (例如,如果删除操作的修订号为100,请查看修订号99) svn checkout --revision

答案 4 :(得分:0)

根据您的SVN客户端,您应该可以使用Tortoise中调用的“显示日志”从以前的版本中获取这些文件...

只需打开日志,找到该文件仍然存在的修订版并“恢复到此版本”

答案 5 :(得分:0)

如果您在Windows下,则可以检查(部分)免费工具名称zero assumption recovery。 在Windows上删除文件时真的很有帮助!

或者,如果您启用了它并且您正在使用vista,则可以在其属性中检查文件夹的“以前版本”。

希望它有所帮助!祝你好运。

答案 6 :(得分:0)

您运行命令 svn log 并获取不愉快删除的修订号。 然后运行 svn merge -r2572:2571 svn:// $ PATH_WHERE_YOU_DELETED_NUMBER_WAS_ON_SVN_SERVER&amp; LOCAL_PATH_WHERE_TO_SAVE_FILE

其中-r是修订号

示例 merge -r2572:2571 svn://www.jane16.com/var/opt/svn/mypoject/Start.java C:/ecplipse/workspace/myporject/Start.java