如何恢复到旧版本然后回到 HEAD 版本

How to revert to old revision and then get back to HEAD revision

我刚开始使用 TortoiseSVN(之前使用过 TortoiseHG),在不同版本之间来回切换时遇到了一些问题。

例如,如果我在处理我的项目时发现了一个错误。然后我想看看这个错误在 1 周前是否也存在。我右键单击我的项目图并选择 TortoiseSVN-> 显示日志。然后我找到一周前的修订版并右键单击并 select 恢复到此修订版。到目前为止一切都很好。然后我看到错误确实仍然存在,我只是没有注意到它,所以现在我想回到 HEAD 修订版。这是我开始遇到问题的地方。首先,当我打开显示日志时,粗体文本表明我仍在 HEAD 版本中。如果我右键单击项目图并选择 SVN 更新,它只会说我已经有了 HEAD 修订版,但什么也没有发生。然后我尝试打开日志,右键单击上次修订并 select 恢复到此修订。这也不管用。在这一点上,我很沮丧,没有任何效果,删除我的文件夹并从 HEAD 修订版中执行 SVN Checkout,然后我可以继续工作。

我做错了什么?

First of all when I open the Show log the bold text indicates that I'm still in the HEAD revision. If I right click on the project map and choose SVN Update it just says that I already have the HEAD revision and nothing happens.

正确,因为通过单击 Revert to this revision,您 reverse merge 从 HEAD 到旧版本。您的工作副本仍指向 HEAD,但有一些局部修改。

如果您想返回 HEAD,只需单击:

TortoiseSVN > Revert....

浏览 this SO thread 以获取有关此的更多详细信息。

你做了什么:"revert to this revision",它告诉 SVN 撤消自该修订版以来的所有更改,以便你可以将更改提交到 HEAD,使 HEAD 与该修订版匹配。这会将更改添加到您的 HEAD 工作副本,以便您可以修改存储库。

你想要什么:"update to this revision",它告诉 SVN 让你的工作副本指向那个修订版,这样你就可以检查它,然后稍后更新回 HEAD。这会将您的工作副本移动到不同的修订版,因此您可以检查旧的存储库状态。