1

在我离开一天之前,我从默认开始了一个分支,并且我没有对其进行任何更改。从那时起,默认值已经添加了许多更改。我想将我的分支从默认更新到最新,从默认重建我的分支(删除并重新创建),或者以某种方式拉入更改。

那么在 Mercurial 中我该怎么做呢?

4

1 回答 1

1

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

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

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

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

$ 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'的变基版本。只要您没有将分支推送到任何地方,您就可以重复此过程(Mercurial 会跟踪每个变更集的“阶段”,并且当您将变更集推送到某处时,它会从一个阶段移动到另一个阶段)。xydraftpublic

于 2013-10-21T17:53:47.620 回答