【发布时间】:2011-07-27 02:40:15
【问题描述】:
使用 Windows TortoiseSVN 将我的工作副本恢复到以前版本的最简单方法是什么?
我没有找到任何“可找到”的命令来快速执行此操作。
【问题讨论】:
标签: svn tortoisesvn revision revert
使用 Windows TortoiseSVN 将我的工作副本恢复到以前版本的最简单方法是什么?
我没有找到任何“可找到”的命令来快速执行此操作。
【问题讨论】:
标签: svn tortoisesvn revision revert
有几种方法可以做到这一点。 但不要只是按照此处的建议更新到较早的版本。
从单个修订版或一系列修订版还原更改的最简单方法是使用修订日志对话框。这也是您想要放弃最近的更改并将较早的修订版作为新 HEAD 的方法。
Show All 或Next 100 来显示您感兴趣的修订版本。Context Menu → Revert 从此修订版更改。Context Menu → Revert to this revision。这将放弃选定修订后的所有更改。 您已恢复工作副本中的更改。检查结果,然后提交更改。
所有解决方案都在“How Do I..”中进行了说明。 TortoiseSVN 文档的一部分。
【讨论】:
Update to revision。我说的对吗?
update to revision,因为它不允许我提交新版本。我从@Vincent B 评论中得到了这个。我按照你的步骤仍然是第 3 点。我现在可以提交新版本。任何方式你都可以给我参考以找到基础知识。谢谢
我使用了与Stefan 相同的指令,取自Tortoise website。
但请务必在之后立即点击 COMMIT。直到我意识到这一点,我才变得疯狂。
如果您需要进行旧版本的修订,请执行以下操作:
选择您需要还原更改的文件或文件夹。如果您想恢复所有更改,这应该是顶级文件夹。
选择 TortoiseSVN → 显示日志以显示修订列表。您可能需要使用 Show All 或 Next 100 来显示您感兴趣的修订。
右键单击所选修订,然后选择上下文菜单 → 恢复到此修订。这将放弃选定修订后的所有更改。
提交。
【讨论】:
右击SVN控制的文件夹,进入TortoiseSVN → 显示日志。写下你想要恢复的版本,然后去 TortoiseSVN → 更新到版本...。
【讨论】:
上下文菜单中的“恢复”命令会忽略您的编辑并将工作副本返回到之前的状态。 当您从存储库中“签出”时,您还可以选择“Head”以外的所需修订。
【讨论】:
这是另一种非正统但有效的方法*。
我最近发现自己在检查破坏代码的情况下,知道在所有集成工作完成之前我无法更新我们的生产代码(回想起来这是一个错误的决定,但我们没想到会停滞不前,但其他项目优先)。那是几个月前的事了,整合一直停滞不前。随之而来的要求是更改基本代码并在上周将其投入生产,而无需进行重大更改。
这是我们所做的:
在我签入前确认新要求在使用修订版时不会破坏任何内容后,我制作了一份包含新代码的工作目录的副本。然后我删除了工作目录中的所有内容并检查了我想要的版本。然后我删除了我刚刚签出的所有文件,并从工作副本中复制了这些文件。然后我提交了该更改,有效地从存储库中清除了重大更改,并将生产代码作为主要修订版。我们仍然有可用的重大更改,但它不再处于头部修订中,因此我们可以继续进行生产。
*我不推荐这种方法,但是如果你发现自己也有类似的情况,这是一个不会太痛苦的出路。
【讨论】:
在 TortoiseSVN 上下文菜单中,选择“更新到修订版”,输入所需的修订号,然后瞧 :)
【讨论】: