撤销 SVN 删除命令:./* --force

8

我没有意识到svn delete会删除我的本地副本,我只想将其从版本库中删除。现在我的所有文件都消失了,并且它们也不在回收站中。有没有办法可以恢复它们?


我应该澄清一下,这些文件从来没有进入过版本库。我只是想清理一些旧的垃圾,以便我可以将它们检入。

我在ext3文件系统上运行Ubuntu。没事了...我花了大约2小时重新做了我删除的东西。


1
哎呀,有备份覆盖了SVN仓库或本地副本吗?即使是意外的?你能用未删除实用程序恢复磁盘块吗?最重要的是,尽量不要惊慌... - RBerteig
2
嗨,马克,我想提一下,我刚刚遇到了同样的问题,尽管我使用了 svn remove,我认为这不会像 svn delete 一样。甚至有一条消息问我是否真的要这样做,但是这条消息没有指示我的文件将在本地删除。我认为他们应该使这个消息更加恰当。 - Lena Schimmel
1
@Brian:是啊,我也知道!太糟糕了! - mpen
你可以在NTFS / FAT / ext3j上“始终”恢复已删除的文件,有很多软件可以帮助你完成这项工作。 - Filip Ekberg
7个回答

3

不行。

除非它们仍然被其他应用程序使用,否则无法删除,抱歉。


这让人想到,还有其他人参与这个项目吗?他们可能有一份副本。 - Itay Moav -Malimovka
不,NetBeans 喜欢在文件被删除时关闭它们,这是一些愚蠢的原因...否则它仍然会在内存中。 - mpen
许多集成开发环境往往在重新获得前台时自动重新打开,这主要是为了帮助开发过程,如果远程进程修改了文件的一部分,那么您可以继续工作,以便您不会得到一个在磁盘上和一个在内存中的版本。 - X-Istence
@X: 我理解...如果它被修改,那可能就不同了(有撤销支持),但只是关闭而没有提示? 在我看来,这并不是一个聪明的设计决策。 - mpen

1

打开文件目录,

svn revert "filename"

将还未提交但已被版本控制的本地删除文件恢复。


从未进入存储库 - 即未进行版本控制 - mpen

1

难道你不能在新目录中再次检出你之前正在工作的文件吗?如果你有任何未进行版本控制的更改,那么就没有办法了。但是,如果这些更改已存在于版本库中,你可以使用svn revert命令将其还原为最新版本。


很遗憾,我试图将它们检入存储库,但是存储库中有一些旧文件存在冲突。我试图删除它们以便能够检入新的内容...这真的很糟糕。 - mpen
1
这正是分布式版本控制系统(DVCS)所帮助的事情 - 在合并之前,您可以在本地提交。我猜你只能把它归为经验了。 - jk.
@jk。花了我一段时间才理解分布式版本控制系统,但现在我真的很喜欢它。 - mpen

0

你运行命令svn log并获取不幸删除的版本号。 然后运行svn merge -r2572:2571 svn://$PATH_WHERE_YOU_DELETED_NUMBER_WAS_ON_SVN_SERVER &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


0

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

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

1
他所做的本地更改不在版本库中,因此他无法恢复这些更改。 - X-Istence
刚刚看到评论:“我应该澄清一下,这些文件从未被提交到代码库。”在回答时没有意识到这一点。 - Nitin Bhide

0
根据您使用的SVN客户端,您应该能够使用“Show Log”(在Tortoise中称为)从先前的修订版本中获取这些文件。只需打开日志,找到一个仍然存在该文件的修订版本,然后“还原到此修订版本”。

0

如果你使用的是Windows系统,你可以检查(部分)免费工具名为零假设恢复。当你在Windows上删除文件时真的很有帮助!

或者,如果你已经启用了它并且正在使用Vista系统,你可以在文件夹属性中检查其“以前的版本”。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接