使用 TortoiseSVN 恢复到以前的版本

问题描述 投票:0回答:6

使用 Windows TortoiseSVN 将工作副本恢复到以前的版本的最简单方法是什么?

我没有找到任何“可查找”命令来快速执行此操作。

svn tortoisesvn revision revert
6个回答
130
投票

有几种方法可以做到这一点。 但不要只是按照此处的建议更新到早期版本

恢复单个修订或一系列修订的更改的最简单方法是使用修订日志对话框。如果您想要放弃最近的更改并将较早的修订作为新的 HEAD,也可以使用此方法。

  1. 选择您需要恢复更改的文件或文件夹。如果您想恢复所有更改,这应该是顶级文件夹。
  2. 选择 TortoiseSVN → 显示日志以显示修订列表。您可能需要使用
    Show All
    Next 100
    来显示您感兴趣的修订版本。
  3. 选择您想要恢复的修订版本。如果您想撤消一系列修订,请选择第一个修订并按住 Shift,同时选择最后一个修订。请注意,对于多次修订,范围必须不间断且没有间隙。右键单击选定的修订版,然后选择
    Context Menu
    Revert
    从此修订版更改。
  4. 或者,如果您想将较早的修订版设为新的 HEAD 修订版,请右键单击所选修订版,然后选择
    Context Menu
    Revert to this revision
    。这将放弃所选修订版后的所有更改。

您已恢复工作副本中的更改。检查结果,然后提交更改。

所有解决方案均在“我如何..”中进行了解释。 TortoiseSVN 文档的一部分。


10
投票

我使用了与

Stefan
相同的说明,取自Tortoise网站

但是紧接着单击“COMMIT”非常重要。我快要疯了,直到我意识到这一点。

如果您需要进行较旧的修订,请执行以下操作:

  1. 选择您需要恢复更改的文件或文件夹。如果您想恢复所有更改,这应该是顶级文件夹。

  2. 选择 TortoiseSVN → 显示日志以显示修订列表。您可能需要使用“显示全部”或“下 100 个”来显示您感兴趣的修订版本。

  3. 右键单击所选版本,然后选择上下文菜单 → 恢复到此版本。这将放弃所选修订版后的所有更改。

  4. 做出承诺。


5
投票

右键单击 SVN 控制下的文件夹,转到 TortoiseSVN显示日志。写下您要恢复的修订版本,然后转到 TortoiseSVN更新到修订版本...

Enter image description here


1
投票

上下文菜单中的“恢复”命令会忽略您的编辑并将工作副本返回到之前的状态。 当您从存储库中“签出”时,您还可以选择除“Head”之外的所需修订版本。


1
投票

这是另一种非正统但有效的方法*。

我最近发现自己处于一种情况,我检查了破坏代码,知道在所有集成工作完成之前我无法将我们的生产代码更新到它(回想起来,这是一个错误的决定,但我们没有'预计会陷入停滞,但其他项目优先)。那是几个月前的事了,整合工作一直处于停滞状态。随之而来的是更改基本代码并在上周将其投入生产而不进行重大更改的要求。

这就是我们所做的:

在签入之前使用修订版本验证新要求不会破坏任何内容后,我制作了包含新代码的工作目录的副本。然后我删除了工作目录中的所有内容并检查了我想要的修订版本。然后我删除了刚刚签出的所有文件,并从工作副本中复制了这些文件。然后我提交了该更改,有效地从存储库中删除了重大更改,并将生产代码作为头修订版。我们仍然有可用的重大更改,但它不再包含在头部修订版中,因此我们可以继续生产。

*我不推荐这种方法,但如果你发现自己处于类似的情况,这是一个不太痛苦的出路。


-1
投票

在 TortoiseSVN 上下文菜单中,选择“更新到修订版”,输入所需的修订版号,然后瞧:)

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