SVN:撤销一个随机修订版本的更改,但保留所有后续修订版本的更改

7

情况:我有一个SVN仓库,假设有100个版本,第100个版本是最新的。我在第90个版本中进行了一些更改,现在需要撤销这些更改。第90个版本的更改是独立的,不会影响后续版本。

问题:我想只撤销第90个版本中的更改,但仍希望将所有后续版本的更改合并到我的最新版本中。

问题: SVN中是否有任何函数可以撤销任意版本的更改?


很可能是一个重复的问题:https://dev59.com/5GYr5IYBdhLWcg3w4t3m - Patrice M.
2个回答

12

你需要进行反向合并,也就是使用范围为rev:rev-1的合并。例如,在命令行中,如果你在工作目录中:

`svn merge -r 90:89 .`
在TortoiseSVN中,似乎您需要输入90作为合并修订范围,并在合并对话框中选中反向合并复选框(我没有这个界面所以无法确认)。

1
单独还原一个修订版本的可选语法(可以说更简单)是:'svn merge -c -90 .' - Patrice M.

4

使用TortoiseSVN打开日志并找到要还原的修订版本。右键单击该行,选择“从此修订版本还原更改”。 这将在您的工作副本中进行本地修改,撤销该修订版本。


这只适用于Windows。我使用RapidSVN,这是Linux上的Tortoise替代品,它没有这个功能。 - Jesse Webb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接