8

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


我应该澄清一下,这些文件从未进入存储库。我试图摆脱存储库中的一些旧垃圾,以便我可以将它们签入。

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

4

7 回答 7

3

没有。

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

于 2009-04-14T02:12:53.460 回答
1

您不能在新目录中再次检查您正在工作的内容吗?如果您有任何未版本化的更改,那么您就是 SOL,其他任何您都可以 svn 恢复到存储库中的最新版本。

于 2009-04-14T02:14:17.107 回答
1

进入文件目录,

svn revert "filename"

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

于 2011-05-30T16:12:42.317 回答
0

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

  1. 检查 SVN 日志并找出“删除操作”的修订号。
  2. 使用“svn checkout”检查“删除操作”之前的修订。(例如,如果删除操作的修订号是 100,则检查修订号 99) svn checkout --revision
于 2009-04-14T05:13:45.180 回答
0

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

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

于 2009-04-14T05:19:45.027 回答
0

如果您在 Windows 下,您可以检查(部分)免费工具名称零假设恢复。当您在 Windows 上删除文件时真的很有帮助!

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

希望能帮助到你!祝你好运。

于 2009-04-14T05:55:45.173 回答
0

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

其中 -r 是修订号

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

于 2010-01-28T12:04:07.787 回答