使用TortoiseSVN恢复到以前的版本

时间:2011-03-31 17:35:31

标签: svn tortoisesvn revision revert

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

我没有找到任何“可查找”的命令来快速完成。

6 个答案:

答案 0 :(得分:104)

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

从单个修订版或一系列修订版还原更改的最简单方法是使用修订日志对话框。这也是您想要放弃最近更改并使早期版本成为新HEAD的方法。

  1. 选择您需要还原更改的文件或文件夹。如果要还原所有更改,则应该是顶级文件夹。
  2. 选择TortoiseSVN→显示日志以显示修订列表。您可能需要使用Show AllNext 100来显示您感兴趣的修订版。
  3. 选择您要还原的修订版本。如果要撤消一系列修订,请选择第一个修订并按住 Shift ,同时选择最后一个修订。请注意,对于多个修订版,范围必须不间断且没有间隙。右键单击所选修订,然后从此修订中选择Context MenuRevert更改。
  4. 或者,如果您想要对新的HEAD修订版进行早期修订,请右键单击所选修订版,然后选择Context MenuRevert to this revision。这将丢弃所选修订后的所有更改。
  5. 您已恢复工作副本中的更改。检查结果,然后提交更改。

    所有解决方案都在“How Do I..”中进行了解释。 TortoiseSVN文档的一部分。

答案 1 :(得分:7)

我使用了从Tortoise website获取的相同说明Stefan

但是在之后立即点击COMMIT很重要。直到我意识到这一点,我才开始疯狂。

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

  1. 选择您需要还原更改的文件或文件夹。如果要还原所有更改,则应该是顶级文件夹。

  2. 选择TortoiseSVN→显示日志以显示修订列表。您可能需要使用Show All或Next 100来显示您感兴趣的修订版。

  3. 右键单击所选修订,然后选择上下文菜单→还原为此修订。这将丢弃所选修订后的所有更改。

  4. 提交。

答案 2 :(得分:2)

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

Enter image description here

答案 3 :(得分:1)

上下文菜单中的“还原”命令将忽略您的编辑并将工作副本返回到其先前的状态。 您也可以选择除" Head"之外的所需修订版本。当你" CheckOut"来自存储库。

答案 4 :(得分:1)

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

我最近发现自己陷入了破坏代码的状态,因为我知道在完成所有集成工作之前我无法更新我们的生产代码(回想起来这很糟糕)决定,但我们没有预料到会停滞不前,但其他项目优先考虑)。那是几个月前的事情,整合已经停滞了整整一段时间。随之而来的是要求更改基本代码并在上周将其投入生产而不会发生重大变化。

这是我们做的:

在我签入之前验证新要求在使用修订时没有破坏任何内容后,我制作了包含新代码的工作目录的副本。然后我删除了工作目录中的所有内容,并检查了我想要的修订版本。然后我删除了我刚签出的所有文件,并将其复制到工作副本的文件中。然后我提交了这个更改,有效地从存储库中消除了重大变化,并将生产代码作为主要修订版获得。我们仍有可用的突破性变化,但它不再是主要版本,因此我们可以继续进行生产。

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

答案 5 :(得分:0)

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