git - 是否有等同于 gits no-fast-forward merge 的 mercurial?

标签 git mercurial merge

什么是 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/

相关文章:

git merge : apply changes to code that moved to a different file

node.js - 如何从 git 存储库获取通过 NPM 安装的包的提交哈希值?

linux - 防止提交同名文件

javascript - 使用 es6 将对象的特定 Prop 合并为一个?

javascript - 如何在使用 lodash 省略空值的同时合并两个对象

git - 是否可以在 git diff 中配置临时文件夹?

python - 版本控制- merge 两个分支-[中止: uncommitted changes]

mercurial - 如何获取在两个任意变更集之间修改的文件列表?

Mercurial 和 TortoiseHG - 推送更改后更新远程存储库

python - 如何在python中合并两个不规则的数据框