TortoiseSVN - 撤消恢复

问题描述 投票:11回答:5

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

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

提前致谢。

tortoisesvn revert
5个回答
9
投票

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

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

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


12
投票

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


2
投票

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

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

但是如果你想获得更灵活的版本控制,请看看GitMercurial


0
投票

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

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


0
投票

有一个解决方案...转到您的回收站,您将找到已删除文件的最新版本。乌龟“扔”到它回收的每个文件的回收站。我希望你能得到你的文件。

© www.soinside.com 2019 - 2024. All rights reserved.