需要HG Update Branch合并

时间:2012-08-07 18:58:08

标签: mercurial

也许我错过了一些重要的东西,但我想切换到另一个分支,而没有先提交我现有的东西。我意识到我可以使用hg update -C并简单地删除当前的更改,但这不是我想要做的。

我的问题是我有几个分支机构,我正在同时工作,并且不希望用大量的小提交填满我的历史记录。是否有中间立场,我可以存储我当前的分支,而不会在某些情况下做出我做的每一点改变。

3 个答案:

答案 0 :(得分:2)

shelve extension可以做你想做的事:

从页面:

暂时隐藏更改。你可以选择确切的帅哥 你想要搁置的改变。

  

hg shelve

暂时隐藏更改。所有的帅哥都会自动成为 地选择。

  

hg shelve --all

将更改恢复到workdir。

  

hg unhelve

如果使用--name选项,则可以在不同的架子上搁置不同的更改。

然而,许多小提交有什么问题?如果更改是独立的,那么它们可能值得提交,如果您想保持理智,您真的不想在签入中添加多个问题,特别是如果您稍后要将功能合并到其他存储库中。

答案 1 :(得分:1)

除了已经提及的shelve选项的选项,以及历史记录中包含大量小变更集之外,您还可以使用collapse扩展名来获取这些小变更集并将它们合并为一个更大的变化集。这非常适合您所描述的场景 - 修复拼写错误等。

使用Mercurial 2.1及更高版本时,折叠扩展将尊重phases,因此您不会无意中折叠已发布的更改集。

一般来说,我主张在一个单独的命名分支上进行所有这些小改动,然后在你开心时合并到你的默认(或其他功能)分支。

答案 2 :(得分:0)

让每个分支在其自己的克隆中签出。您无需做任何事情即可在它们之间切换。