TortoiseSVN - 撤消恢复

时间:2011-11-28 08:09:52

标签: tortoisesvn revert

我想查看(而不是修改)我的存储库中的几个文件的旧版本,所以我去了还原那些文件。现在我正在尝试将这些文件恢复到最新版本,以便它们匹配我工作副本中的所有其他文件,但是当我更新文件夹时,没有任何更改。

是否可以撤消恢复?我在其他地方复制并粘贴了这些文件的最新版本,因此它们并没有完全丢失,但我认为有一种比将这些文件移回到保存我的工作副本的目录更简单的方法。

提前致谢。

5 个答案:

答案 0 :(得分:12)

如果尚未重新启动计算机,请在项目目录中按Ctrl + Z

答案 1 :(得分:9)

我猜你在显示日志对话框中使用了 Revert to this revision 上下文菜单。尽管有这个名字,它并没有真正执行一个恢复操作,至少在Subversion理解这个术语的方式上。它实际上做的是将修订更改反向合并到您的工作副本中。因此,现在您的工作副本中有未保存的更改,Subversion会在您更新时尝试保留它们。您可以从“检查修改”对话框中验证:这些项目应显示为“已修改”。

如果是这种情况,您可以通常的方式丢弃本地更改:工作副本中的“还原”上下文菜单。这一次,它将进行真正的“恢复”操作。

下次要检查目录树的旧版本时,可以使用日志对话框中的“更新项目到修订”上下文菜单。它将执行一个可以轻松撤消的SVN更新。

答案 2 :(得分:2)

使用SVN,本地计算机上只有工作副本,服务器上只有存储库。通过使用 revert ,您已使用服务器中的内容替换了本地工作副本的内容,并且没有其他地方SVN保留这些文件的副本。

根据您的IDE,您可以恢复更改。例如,Eclipse会跟踪工作区中每个文件的本地历史记录。

但是,如果您想让版本控制更加灵活,请查看GitMercurial

答案 3 :(得分:0)

没有。还原会丢弃存储库从未听说过的本地更改,因此无法从那里恢复它们。 TortoiseSVN可能会在客户端为您保留备份,但不会。

请注意,这仅表示您永远不会返回未提交的本地修改,Update命令仍应从存储库获取最新版本,而不是之前已明确检出的任何旧版本。

答案 4 :(得分:0)

有一个解决方案...转到您的回收站,您将在此处找到已删除文件的最新版本。乌龟会将其还原的每个文件“扔”到回收站。我希望您可以将文件保存在那里。