如何在 Mercurial 中重复合并分支

Posted

技术标签:

【中文标题】如何在 Mercurial 中重复合并分支【英文标题】:How to repeatedly merge branches in Mercurial 【发布时间】:2010-09-08 04:35:45 【问题描述】:

我们在我工作的地方使用 Mercurial,我希望有一个类似于我使用 SVN 的设置:

后备箱 标签 生产 分支机构

由于 Mercurial 本身支持分支,我知道如何创建命名分支,但我找不到任何有关如何重复合并“主干”和“生产”的文档。

很简单,我想要一个用于正常工作的开发分支和一个生产分支,我会定期从开发分支中提取更改。如何使用 Mercurial 做到这一点?

【问题讨论】:

【参考方案1】:

类似hg transplant?这就是我们在 dev 和 prod 分支上使用的内容。

【讨论】:

【参考方案2】:

正如之前的海报所提到的,移植扩展可用于从一个分支到另一个分支的精选更改。但是,如果您总是想提取所有最新的更改,hg merge 命令将带您到达那里。

最简单的情况是当您使用克隆来实现分支时(因为这是 Mercurial 设计的用例)。假设您已经在 .hgrc / Mercurial.ini 中打开了内置的 fetch 扩展:

cd ~/src/development
# hack hack hack
hg commit -m "Made some changes"
cd ../production
hg fetch ../development

如果您使用的是本地分支机构:

hg update -C development
# hack hack hack
hg commit -m "Made some changes"
hg update -C production
hg merge development
hg commit -m "Merged from development"

【讨论】:

以上是关于如何在 Mercurial 中重复合并分支的主要内容,如果未能解决你的问题,请参考以下文章

Mercurial:在一个仓库中的分支之间合并一个文件

合并来自不同存储库的 Mercurial 分支

mercurial 的最佳实践:分支与克隆,以及部分合并?

Mercurial 防止在合并时静默删除文件

Mercurial摆脱糟糕的合并

Subversion:如何获取所有活动的,未合并的分支的列表