Nei*_*eil 41 merge mercurial tortoisehg
我做了一个很大的哎呀,可以使用一些帮助撤消它.
我们有两个存储库 - 一个相当稳定的存储库,以及我们正在进行更改的存储库.我只是在我们的稳定存储库中进行了一个缺陷修复,并将其移动到工作存储库.我从稳定的存储库中取出,合并,然后意外地推送到稳定的存储库.
稳定的存储库现在看起来像这样:
*merge
| \
| \
| *b
*a |
| /
*c
Run Code Online (Sandbox Code Playgroud)
a应该是稳定存储库的提示的提交在哪里,b是我们在开发存储库中完成的所有工作,并且c我们分支开发存储库.
我该如何回归:
*a
|
*c
Run Code Online (Sandbox Code Playgroud)
(我知道我无法真正做出改变,我只是在寻找功能结构......)
我读过一些让我觉得这hg backout是我需要的命令的东西,但我不确定它是做什么的.
Geo*_*eng 49
hg rollback恢复最后一笔交易,所以你将留下未完成的合并,你必须用它hg update -C来离开.
如果您不想要*b(您在另一个克隆中拥有它),则启用内置MQ扩展并运行hg strip -r <*b>.它将摆脱*b和*合并.默认情况下,它会保存备份,以防您再次改变主意.
更新(根据@Rudi的评论:对不起,我错过了"已推出"部分)
由于合并已经推出,从来没有做过我之前建议的事情.来自其他开发者的讨厌电子邮件将是最好的结果.
改为:
hg up -r<*merge>
hg revert -r<*a> -a
hg ci -m "undo unintended merge"
Run Code Online (Sandbox Code Playgroud)
或者你可以更犹豫:
hg up -r<*merge>
hg backout -r<*merge> --parent<*a>
Run Code Online (Sandbox Code Playgroud)