Mercurial中的rebase命令的优点是什么?

与标准推/拉相比,在Mercurial中使用rebase命令的优点是什么?

这篇文章有一个很好的解释:

答案在于重新定义。 Rebasing是一种由gitstream行的技术,您可以在其中重写尚未推送的补丁程序,使其适用于当前的远程提示,而不是针对您上次提取的存储库的提示。 好处是您的合并历史显示了主要分支之间有用的合并 – 合并 – 而不是简单地与上游存储库进行的每一次合并。

正常的拉,合并,推序列会创build一些提交,这些提交对于你的版本库的历史来说并不是很有用。 重新激活有助于消除这些。

如果你做了一个合并推送序列,并得到“合并”错误,你总是可以“退出”“合并提交”。 因此,你有一个简单的“撤销推”的方法。 我不知道使用rebase时是否有相当简单的方法。