`--no-ff`标志对`git合并`有什么影响? [英] What effect does the `--no-ff` flag have for `git merge`?

查看:30
本文介绍了`--no-ff`标志对`git合并`有什么影响?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用gitk log时,我看不出git mergegit merge --no-ff的效果有什么不同。如何(使用git命令或某个工具)观察差异?

推荐答案

如果--no-ff标志检测到您的当前HEAD是您试图合并的提交的祖先,--no-ff标志将阻止git merge执行"快进"。快进是指git只移动分支指针指向传入的提交,而不是构造合并提交。在不做任何本地更改的情况下执行git pull时通常会发生这种情况。

但是,有时您希望防止此行为发生,通常是因为您希望维护特定的分支拓扑(例如,您正在合并主题分支,并且希望确保它在读取历史时看起来是这样的)。为此,您可以传递--no-ff标志,git merge始终构造合并而不是快进。

类似地,如果您想要执行git pull或使用git merge来显式快进,并且想要在它不能快进时退出,那么您可以使用--ff-only标志。通过这种方式,您可以不假思索地定期执行类似git pull --ff-only的操作,然后如果出错,您可以返回并决定是要合并还是重新建立基地。

这篇关于`--no-ff`标志对`git合并`有什么影响?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆