Git -> git merge --no-ff 和 git merge的区别

git merge --no-ff <branch>git merge <branch> 的区别

核心区别

git merge <branch>:

  • 默认使用Fast-forward模式(若可行)
  • 不创建额外的合并提交记录
  • 合并后看不出曾经存在过分支
    git merge --no-ff <branch>:
  • 强制创建一个新的合并提交
  • 即使可以Fast-forward也会生成合并记录
  • 保留完整的分支历史信息

合并前 (两种方式相同的初始状态)

bash 复制代码
     A---B---C (master)
         \
          D---E (branch)

Fast-forward模式合并后 (git merge)

bash 复制代码
 A---B---C---D---E (master)

No Fast-forward模式合并后 (git merge --no-ff)

bash 复制代码
 A---B---C-------M (master)
     \           /
      D---------E

选择建议: 临时分支用默认模式,重要功能分支用--no-ff以保留历史。

注:图中A、B、C、D、E分别代表不同的提交。B是从A创建分支的共同起点,而不是BD是同一笔提交。

相关推荐
专业白嫖怪5 分钟前
H3C UniServer R4950 G5 服务器压测实战:13根内存条24小时压力测试全流程
git
我先去打把游戏先21 分钟前
Ubuntu虚拟机(服务器版本)Git安装教程(附常用命令)——从零开始掌握版本控制
服务器·c语言·c++·git·嵌入式硬件·物联网·ubuntu
咸鱼永不翻身26 分钟前
Git Hooks 功能与作用详解
git·git-hooks·git钩子
闪电悠米35 分钟前
黑马点评短信登录01_session_sms_login
java·spring boot·redis·git·spring·面试
少司府36 分钟前
Tools相关:深入浅出学Git
大数据·c++·git·gitee·github·仓库·分支
cen__y12 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
bukeyiwanshui15 小时前
20260518 Swift实验
git·swift
qziovv15 小时前
Git 回退场景
大数据·git·elasticsearch
来自大山深处的Doge_17 小时前
解决Git提交更新更改时出错: detected dubious ownership in repository at ...
git
嵌入式爱好者hsw20 小时前
Git 部署本地仓库
git