2

我有一个旧版本,效果很好,我想扭转过去在 SVN 中所做的几个版本。我怎样才能简单地删除这些修订并使 HEAD 成为特定修订。这样,当我按下更新时,它会转到那个版本,而不是真正的当前版本?

4

2 回答 2

4

svn书中:

撤消更改

的另一个常见用途svn merge是回滚已经提交的更改。假设您在 的工作副本上愉快地工作/calc/trunk,并且您发现在修订版 303 中所做的更改integer.c是完全错误的。它不应该被提交。您可以使用svn merge“撤消”工作副本中的更改,然后将本地修改提交到存储库。您需要做的就是指定反向差异:

$ svn merge -r 303:302 http://svn.example.com/repos/calc/trunk
U  integer.c

$ svn status
M  integer.c

$ svn diff
…
# verify that the change is removed
…

$ svn commit -m "Undoing change committed in r303."
Sending        integer.c
Transmitting file data .
Committed revision 350.

有关更多详细信息,请参阅“撤消更改”部分的其余部分。

于 2012-12-14T20:20:39.167 回答
1

如果您执行 SVN HELP MERGE,请查看显示的第三种形式 (-r N:M)。我相信这是您要使用的方法。

于 2012-12-14T20:20:50.863 回答