如果没有变化,我可以将我的 Mercurial 分支更新到其分支的头部吗?



我在外出一天之前就默认启动了一个分支,我没有对它进行任何更改。从那以后,默认添加了许多更改。我想将我的分支从默认值更新到最新版本,从默认值重建我的分支(删除并重新创建),或者以某种方式引入更改。

那么在Mercurial中,我将如何做到这一点?

听起来您没有进行任何提交,这意味着历史记录如下所示:

... [a] --- [b] --- (wc)
              
               `--- [c] --- [d]

在这里,您的脏工作副本基于 b 并且您拉下了cd.

由于没有提交,因此没有要合并的内容。您可以简单地更新:

$ hg update

您的修改将与cd中的更改合并,以生成此图表:

... [a] --- [b] --- [c] --- [d] --- (wc)

如果您进行了一次或多次提交,但尚未将它们推送到任何地方,那么您可以使用 rebase 扩展将提交重新构建(重播)到不同的基础。你从那里开始

... [a] --- [b] --- [x] --- [y]

从主存储库中提取以获取:

... [a] --- [b] --- [x] --- [y]
              
               `--- [c] --- [d]

运行hg rebase后,您最终会得到

... [a] --- [b] --- [c] --- [d] --- [x'] --- [y']

其中x'y'分别是xy的重定基版本。只要您没有将分支推送到任何地方,就可以重复此过程(Mercurial 跟踪每个变更集的"阶段",当您将变更集推送到某个位置时,它会从draft阶段移动到public阶段)。

最新更新