将一个命名分支合并到另一个(赶上),但保留两个分支

时间:2012-02-23 21:42:59

标签: version-control mercurial branch

我们在Mercurial中有两个命名分支:

  • “default” - 我们修复错误的“bugfixing”分支
  • “redesign”命名分支,我们为应用程序执行全新的UI设计

现在,我想将我的“bugfixing”分支合并到“redesign”分支中。但保持“错误修正”分支不受影响

换句话说,我想从默认更新我的命名分支,但没有实际合并分支。无法想办法......

我应该做什么

hg merge default

在我的命名分支?但这会保留两个分支吗?

PS。我对hg很新,对不起,如果这是一个愚蠢的问题......

3 个答案:

答案 0 :(得分:3)

  

我想从默认更新我的命名分支,但没有实际合并分支

I.e 你想要以Mercurial合并分支 - 合并默认为重新设计。在Mercurial分支合并中并不意味着“您不能再使用合并分支” - 您可以,只需更新分支头,编辑和提交

答案 1 :(得分:1)

我没有使用Mercurial分支,因为我们使用Kiln“分支存储库”(基本上是与服务器一起存储在服务器上的repo克隆)。当我们将一个repo的变化f合并到另一个repo时,它不会修改原始的repo,它更多的是“将变化从分支A复制到分支B”而不是合并。 Mercurial分支可能完全相同。

测试它的最简单方法是在某处克隆repo,并进行合并。只要你不推,你就可以在完成测试时扔掉那个克隆。合并分支,看看它们是否都保留(我怀疑它们会,除非你明确地关闭一个,但你合并了哪个分支,哪个合并,会产生相反的结果!),你想要的更改。您可以随时使用“hg rollback”快速恢复上一次操作并尝试不同的操作。

答案 2 :(得分:1)

Mercurial在合并Alex之后没有删除你的分支,它只是从src(重新设计)分支获取文件并将其与目标(默认)分支合并。之后你的队友将继续在src分支中工作,如果你想再次拉下一个版本,你只需要再次执行合并。

之后,您可以决定是否要推送现在默认的合并版本,或者等到分支稳定后再进行。