还原合并分支

时间:2016-08-22 12:39:02

标签: version-control merge mercurial

我意外地将分支合并到默认,然后推送到远程存储库。所以我的问题是如何在本地和远程存储库上恢复合并? 之后没有合并/分支/提交

已经尝试过

hg update -C
hg update -C -r .
hg rollback (there is no rollback transaction available)

但没有任何帮助。

2 个答案:

答案 0 :(得分:0)

你有两个选择

1)hg恢复从默认值中移除chages(这应该是安全的,但留下了合并发生在历史中的事实)

2)远程仓库上的hg strip并让每个人再次克隆(这是不安全的,除非你有一个非常小的团队直接控制,否则可能不可行)

答案 1 :(得分:0)

我建议使用错误提交关闭默认分支,并在合并发生之前将新的更改集提交到默认值。这使历史查询保持正确。例如:

enter image description here

test分支被错误地合并为默认值。关闭分支并从合并前提交(Rev 1)。一个简单的" hg revert -r 1 --all"默认情况下将退出合并,但测试分支更改集仍将显示为默认提示的祖先。关闭糟糕的合并头使历史看起来准确。