我有一个不在头的提交,虽然后来的提交没有触及它上面的任何文件。
有没有办法从主干中删除此提交?
谢谢,
答案 0 :(得分:2)
有一些基本方法取决于修订从历史中删除的重要性:
svn merge
撤消更改,提交更改,然后继续svn obliterate
实施。 Don't hold your breath。答案 1 :(得分:1)
您可以撤消Subversion中的更改 - 即使使用svn merge
也不是头脑。
假设您已修订版100,但意识到修订版94中的更改存在问题:
$ svn up # Make sure your working directory is up to date
$ svn st # Make sure there are no pending changes.
$ svn merge -c -94 . # Removes changes done in Revision #94.
注意否定94. -c
表示改变。使用负数修订号,就像你说的那样:
$ svn merge -r 94;93 .
请注意,如果您没有删除上一次更改,则可能会发生冲突(您在修订版#96中进行了更改,并在修订版#94中进行了更改)。当您对svn merge
执行任何操作时,始终建议您使用干净的工作目录。
您还可以使用--dry-run
参数查看在实际执行反向合并之前要更改的内容。这将帮助您捕获可能的冲突,并确保您认为需要更改的文件。