Tortoisesvn 乌龟VN-撤销回复

Tortoisesvn 乌龟VN-撤销回复,tortoisesvn,revert,Tortoisesvn,Revert,我想查看(而不是修改)存储库中一些文件的旧版本,所以我去恢复了这些文件。现在,我正试图将这些文件恢复到最新版本,以便它们与工作副本中的所有其他文件匹配,但当我更新文件夹时,没有任何更改 是否可以撤消还原?我将这些文件的最新版本复制并粘贴到其他地方,这样它们就不会完全丢失,但我认为有一种比将这些文件移回保存我的工作副本的目录更简单的方法 提前感谢。否。还原将丢弃存储库从未听说过的本地更改,因此无法从存储库中还原这些更改。OrtoiseSVN可能会在客户端为您保留备份,但不会 请注意,这只意味着您将

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

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


提前感谢。

否。还原将丢弃存储库从未听说过的本地更改,因此无法从存储库中还原这些更改。OrtoiseSVN可能会在客户端为您保留备份,但不会


请注意,这只意味着您将永远无法恢复未提交的本地修改,更新命令仍将从存储库中获取最新版本,而不是以前明确签出的任何旧版本

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

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

但是,如果您想获得更灵活的版本控制,请查看或。

我猜您在“显示日志”对话框中使用了“还原到此修订版”上下文菜单。尽管名称不同,它实际上并不执行还原操作,至少在Subversion理解术语的方式上是这样。它实际上是将修订更改反向合并到工作副本中。因此,现在您的工作副本中有未保存的更改,Subversion会在您更新时尝试保留这些更改。您可以从“检查修改”对话框中验证:这些项目应显示为“已修改”

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


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

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

有一个解决方案。。。转到你的回收站,你会在那里找到被删除文件的最新版本。乌龟将其还原的每个文件“扔”到回收站。我希望您能在那里获得您的文件。

请参阅此处的详细答案和步骤:谢谢您的回复。不过,当我还原这些文件时,实际上并没有进行任何本地更改。假设我的文件夹是版本100(存储库中的最新版本),我将一些文件恢复为版本50。因此,现在我希望我的工作副本中的这些文件返回到版本100(除非我有误解,否则这些文件的版本100仍然在存储库中)。在此过程中,我没有做出任何承诺。没有办法回到这些文件的第100版,因为我之前把它们还原到了第50版吗?好吧,用SVN术语来说,你没有“还原”,你使用陆龟->更新到修订版“更新到”将(是的,与日常用法不完全相同)更新到特定的修订号。。。对话?是的,我不知道SVN术语和陆龟的术语有点不同。我对每个文件所做的是OrtoiseSVN->Show Log->恢复到这个版本,正如Alvaro G.Vicario在另一个回答中所描述的那样。谢谢你的帮助!是的,我就是这么做的;我没有意识到术语不同。我遵照你的指示,把最近的文件放回了我的工作目录。谢谢你的帮助!我不太清楚你说的“反向合并”是什么意思。你能解释一下这是什么意思吗?A是将对一个分支所做的更改复制到另一个分支的操作。如果您不应用更改以获取功能,而应用更改的目的是相反的(删除功能)。很抱歉,“还原到此修订版”确实会进行反向合并。然而,“本次修订的更新”并没有。这一次确实帮助了我。该项目是在Visual Studio中打开的,因此我可以有选择地撤消恢复!我从来不知道这是可能的。节省了我很多时间。谢谢你救了我一天:)提到这个Eclipse特性,我就免于了大量的返工!