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

mhe*_*ing 7 git merge mercurial

什么是merits等同于gits no-fast-forward merge(如果可以快进)?

编辑

假设您在master/default的头/尖端有一个分支/书签:

 o feature
 |
 o
 |
 o master/default
 |
 ...
Run Code Online (Sandbox Code Playgroud)

简单的快进合并将导致:

 o feature/master/default
 |
 o
 |
 o
 |
 ...
Run Code Online (Sandbox Code Playgroud)

非快进合并看起来像:

 o merge commit - feature/master/default
 | \
 |  o     
 |  |
 |  o
 | /
 o
 |
 ...
Run Code Online (Sandbox Code Playgroud)

Tim*_*gan 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"
Run Code Online (Sandbox Code Playgroud)

这将产生如下图形:

o   merged feature-1 to default
|\
| o feature-1: implemented feature on named branch
|/
o
|
Run Code Online (Sandbox Code Playgroud)

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

您可能还对Mercurial邮件列表中讨论该问题的此线程 (死链接)感兴趣.