我有一个很旧的修订版,它很有效,我想扭转我在SVN中做过的几个修改。如何简单地删除这些修订并使HEAD成为特定修订版。那样的话,当我按下更新时,它会转到那个修订版,而不是真正的当前重复版?
答案 0 :(得分: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.
有关详细信息,请参阅"Undoing Changes" section的其余部分。
答案 1 :(得分:1)
如果您执行SVN HELP MERGE,请查看显示的第3个表格(-r N:M)。我相信这是你想要使用的方法。