5

我们有一个运行 SVN 的存储库。在某些时候,为了添加一个功能(我们称之为“分支”),我们从主干创建了一个开发分支(我们称之为“主干”)。

我们一直在做我们的工作并致力于分支,偶尔,我们将主干中所做的更改合并到分支中,以使其分支与主干保持同步。

在某个时候,来自主干的修订 75051 到 77691 被合并到分支中,并且提交继续在分支上进行,在分支中提交新代码。

但是现在我们希望分支是最新的,主干只更新到修订版 77089,也就是说,我们要撤消由于我们所做的合并而导致的分支中的更改,但仅由于 rev77089-77691 而导致的更改,而不影响所有工作都在分支中完成。由于主干中的 rev77089-77691,有什么建议可以恢复或撤消分支中的更改?非常感谢你。

4

2 回答 2

6

您只需在svn merge命令中使用反向范围即可撤消更改:

$ svn revert -R .   #Remove all changes made
$ svn update        #and make sure up to date
$ svn merge -r77691:77088 .

这将从您的工作目录中删除从 77089 到 77691 的更改。

或者您可以一次撤消合并一个修订:

$ svn merge -c -77691 .
$ svn merge -c -77690 .
$ svn merge -c -77689 .
于 2013-07-03T17:25:34.723 回答
3

除了 David W. 的回答(+1):如果您使用 TortoiseSVN,您可以打开您的日志(上下文菜单:显示日志branch,标记您不再使用的所有修订并进行还原(上下文菜单:恢复此版本的更改)。

于 2013-07-04T05:59:00.230 回答