使用TortoiseSVN删除修订
我对我的SVN服务器使用了一些错误的代码更改 现在,标题修订为155,但我想删除最后2个修订,以便标题修订为153。换句话说,我想“撤销”我的最后两次提交使用TortoiseSVN删除修订,svn,version-control,tortoisesvn,Svn,Version Control,Tortoisesvn,我对我的SVN服务器使用了一些错误的代码更改 现在,标题修订为155,但我想删除最后2个修订,以便标题修订为153。换句话说,我想“撤销”我的最后两次提交 我怎样才能用乌龟做这个?TurtoiseSVN菜单中是否存在选项,或者我是否需要使用命令行?如果打开SVN日志,则可以右键单击某个修订,并使用“还原到此修订”或“还原此修订的更改”选项。这两个选项都将更新您的工作副本(然后您可以提交) 在OrtoiseSVN中没有删除修订的选项。从命令行: 将更改还原到文件: svn merge -r <
我怎样才能用乌龟做这个?TurtoiseSVN菜单中是否存在选项,或者我是否需要使用命令行?如果打开SVN日志,则可以右键单击某个修订,并使用“还原到此修订”或“还原此修订的更改”选项。这两个选项都将更新您的工作副本(然后您可以提交) 在OrtoiseSVN中没有删除修订的选项。从命令行: 将更改还原到文件:
svn merge -r <newBadRev>:<oldRevToMergeBackTo> <filename>
不幸的是,对于OrtoiseSVN(或任何其他SVN客户机),没有办法真正删除修订,因为它完全从历史中消失了。更改SVN存储库的历史记录很困难,需要在服务器上进行操作-请参阅以下问题:
但是,您可以“撤消”签入,方法是进行新签入并将其更改回。这通常是通过一种称为“反向合并”的技术来实现的。请参见,例如,作为更新工作副本的根目录,您应该使用以下命令:
svn merge -rHEAD:153 .
这将“撤消”153版的所有更改,使156版看起来像153版
别忘了事后承诺
您也可以在OrtoiseSVN上执行同样的操作:打开“显示日志”界面,选择修订版153,右键单击它,然后选择“从该修订版还原更改”。我使用了来自的这些说明 但在之后立即单击提交很重要。直到我意识到这一点,我才开始发疯 如果需要进行旧版本的头部修订,请执行以下操作:
我想说“交互式再基地”,但我不确定这是否正确…@KerrekSB:完全正确。。。对于git:-)。如果您真的需要删除(我不建议删除,除非有严重的损坏),则会有一些信息。这不会起任何作用。它不会删除旧的提交,而只是添加另一个提交。修正变化?当然可以。但绝对不要删除@也许您需要在恢复此修订版的更改后解决冲突,然后提交它。最好删除删除文件的修订。谢谢
svn merge -rHEAD:153 .