什么是 mercurial 等同于 gits no-fast-forward merge (以防快进可能)?
编辑
假设你有一个分支/书签在你的 head/tip of master/default:
o feature
|
o
|
o master/default
|
...
一个简单的快进 merge 会导致:
o feature/master/default
|
o
|
o
|
...
非快进 merge 看起来像:
o merge commit - feature/master/default
| \
| o
| |
| o
| /
o
|
...
最佳答案
这取决于您如何提交您的功能分支。
如果该功能是在命名分支上开发的,那么您可以获得相当于非快进 merge 的效果。事实上,命名分支不能以任何其他方式 merge 。
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
命令创建的分支)。它不适用于匿名分支或书签。
您可能还对 this thread 感兴趣(死链接) 在讨论该问题的 Mercurial 邮件列表中。
关于git - 是否有等同于 gits no-fast-forward merge 的 mercurial?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15427370/