是否存在与gits no-fast-forward merge相当的mercurial?

时间:2013-03-15 08:02:13

标签: git mercurial merge

与gits no-fast-forward merge相同的mercurial是什么(如果可以快进的话)?

修改

假设您在主/默认的头/尖端有一个分支/书签:

 o feature
 |
 o
 |
 o master/default
 |
 ...

简单的快进合并将导致:

 o feature/master/default
 |
 o
 |
 o
 |
 ...

非快进合并看起来像:

 o merge commit - feature/master/default
 | \
 |  o     
 |  |
 |  o
 | /
 o
 |
 ...

1 个答案:

答案 0 :(得分:7)

这取决于您提交功能分支的方式。

如果该功能是在命名分支上开发的,那么您可以获得相当于无快进合并的功能。实际上,命名分支不能以任何其他方式合并。

hg update default
hg branch feature-1
...work...
hg commit -m "implemented feature on named branch"
hg update default
hg merge feature-1
hg commit -m "merged feature-1 to default"

这将生成如下图表:

o   merged feature-1 to default
|\
| o feature-1: implemented feature on named branch
|/
o
|

这仅适用于命名分支(即使用hg branch命令创建的分支)。它不适用于匿名分支或书签。

您可能也对Mercurial邮件列表中讨论该问题的this thread (死链接)感兴趣。

相关问题