详细版本见个人博客:Git的Fast Forward和no fast foward合并模式对比


通常,合并分支时,如果没有分歧解决,就会直接移动文件指针,这就是Fast forward模式。

举例来说,开发一直在master分支进行,但忽然有一个新的想法,于是新建了一个dev的分支,并在其上进行一系列提交,完成时,回到master分支,此时,master分支在创建dev分支之后并未产生任何新的commit。此时的合并就叫fast forward

但这种模式下,删除分支后,会丢掉分支信息。

如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

一、强制禁用Fast forward模式的具体方法

下面我们看下如何强制禁用Fast forward模式(--no-ff方式)的git merge

首先修改readme.md文件,并提交一个新的commit:

$ git add .
$ git commit -am "update readme"
[dev 237907d] update readme1 file changed, 3 insertions(+), 1 deletion(-)

现在,我们切换回master:

$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

合并dev分支,请注意--no-ff参数,表示禁用Fast forward

$ git merge --no-ff -m "merge with no-ff" dev
Merge made by the 'recursive' strategy.README.md                                          |   4 +-...5\217\344\275\234\346\226\207\346\241\243.docx" | Bin 278553 -> 279350 bytes...234\200\345\212\240\345\210\206\357\274\237.md" |  62 +++++++++++++++++++++3 files changed, 65 insertions(+), 1 deletion(-)create mode 100644 "\346\225\260\346\215\256\345\210\206\346\236\220\351\235\242\350\257\225-\344\270\273\350\247\202\351\242\230/\345\275\223\351\235\242\350\257\225\345\256\230\350\257\264\357\274\214\342\200\234\344\275\240\346\234\211\344\273\200\344\271\210\350\246\201\351\227\256\346\210\221\357\274\237\342\200\235\346\200\216\346\240\267\345\233\236\347\255\224\346\234\200\345\212\240\345\210\206\357\274\237.md"

因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

合并后,我们用git log看看分支历史:

$ git log --graph --pretty=oneline --abbrev-commit
*   1d78e1a merge with no-ff
|\
| * 237907d update readme
| * 75a4fbc update 主观题
| * 9669636 update 协作文档
|/
* b1aa3ed update 协作文档
* 5c7018e update readme
* 85c15e2 update readme
* a803ecf update readme
* bb3adfb update 协作文档
*   acf2104 Merge pull request #1 from dta0502/add-license-1
|\
| * 4330188 Create LICENSE
|/
* f05e852 Initial commit

二、Fast Forward和no fast foward合并模式对比图


详细版本见个人博客:Git的Fast Forward和no fast foward合并模式对比

Git的Fast Forward和no fast foward合并模式对比相关推荐

  1. Git 的 Fast Forward 和 no fast foward

    原文地址 目录 Fast forward 概述 强制禁用 Fast forward 模式的具体方法 Fast Forward 和 no fast foward 合并模式对比 分支策略 小结 Fast ...

  2. Git – Fast Forward 和 no fast foward

    Git 很是强大,在体验过rebase的华丽之后,再次发现之前在TFS上遇到的问题一下都有解了.但也印证了Git深入并非易事.这篇就谈下一个容易迷糊的概念:Fast forward. Fast-For ...

  3. Git- Fast Forward和no fast forward

    Git 很是强大,在体验过rebase的华丽之后,再次发现之前在TFS上遇到的问题一下都有解了.但也印证了Git深入并非易事.这篇就谈下一个容易迷糊的概念:Fast forward. Fast-For ...

  4. git merge 的两种模式的区别 --no-ff与fast forward

    git merge 将名字为branchName的分支合并到当前分支 有两种模式 git merge <branchName>:fast forward模式,快速合并,看不出做过合并. 不 ...

  5. FFmpeg是什么?(Fast Forward Moving Picture Experts Group)(AVFormat、AVCodec、AVFilter、AVDevice、AVUtil)

    文章目录 前言 一.FFmpeg的定义 二.FFmpeg的基本组成模块 (1)FFmpeg的封装模块AVFormat (2)FFmpeg的编解码板块AVCodec (3)FFmpeg的滤镜模块AVFi ...

  6. fast无线网卡linux驱动,fast无线网卡驱动,详细教您fast无线网卡驱动

    当我们使用笔记本电脑工作的时候,如果发现没有无线网络,有些用户会选择使用无线网卡,有的用户会使用fast无线网卡来上网,但是有用户不知道怎么都无法上网,这个时候该怎么办呢?这多半是因为没有安装fast ...

  7. 理解git结构与简单操作(四)合并分支的方法与策略

    接上节,此时的dev分支与master分支的进度就不一样了,所以需要将dev分支与master分支同步.这里需要的就是合并分支的操作,大家应该都知道用git merge或者git rebase. gi ...

  8. 用beyond compare解决git不能同步项目重新下载项目然后就行对比解决冲突

    用beyond compare解决git不能同步项目重新下载项目然后就行对比解决冲突              这几天一直由于之前的的项目实现的功能没有提交,git客户端我用的是smartGit,然后 ...

  9. Git下使用Beyond Compare作为比较和合并工具

    转载自:http://blog.csdn.net/zzqhost/article/details/7298405 Git下使用Beyond Compare作为比较和合并工具 建议配置在~/.gitco ...

最新文章

  1. 安装Nginx的方法教程
  2. 基于html5海贼王单页视差滚动特效
  3. Redlock——Redis集群分布式锁
  4. P1031 均分纸牌
  5. myclipse 项目struts 2 版本升级过程
  6. Opengl-基本概念-可编程的渲染管线(僵硬啊)
  7. UA MATH574M 统计学习II 高维数据的二元分类
  8. eclipse linux环境下编译器的指定设置
  9. 一寸照纯红色底图片_和记场下载
  10. LC 231 power of 2
  11. 绝对定向 c++_【007】Linux重定向、管道符及环境变量(看这一文就够了)
  12. python弹球游戏移动球拍_python pygame实现挡板弹球游戏的代码
  13. 几个常用的视频分析工具
  14. 用算法去扫雷(go语言)
  15. k近邻算法_机器学习算法之——K最近邻(k-Nearest Neighbor,KNN)分类算法原理讲解...
  16. SketchUp2020中文完整版下载保姆级安装教程
  17. 教你如何用python把玩守望先锋新英雄
  18. 基于PyQT5制作一个二维码生成器
  19. bert:pre-training of deep bidirectional transformers for language understanding
  20. 粉色噪声 褐色噪声 布朗噪声

热门文章

  1. heroku常用命令示例(一)
  2. xxs漏洞危害_反射型XSS漏洞详解
  3. Dirty COW漏洞原理与简单利用
  4. API:什么是API?API与interface的区别
  5. luogu1063:区间dp
  6. x的1/x次方的导数是多少?怎么算?
  7. 计算机300分考研能调剂吗,考研调剂的问题
  8. 3.1.3 回旋函数
  9. k7root锁,k7智能锁
  10. 7-2 心理阴影面积