8

与 gits no-fast-forward merge 等效的 mercurial 是什么(如果可以进行快进)?

编辑

假设您在 master/default 的头部/提示处有一个分支/书签:

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

一个简单的快进合并将导致:

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

非快进合并看起来像:

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

1 回答 1

8

这取决于您如何提交功能分支。

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

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 邮件列表上的此线程 (死链接)感兴趣。

于 2013-03-15T12:52:32.603 回答