与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
|
...
答案 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 (死链接)感兴趣。