一、快进式合并

这是 Git 合并时候的默认选项。在 Git 中,分支进行合并的时候,如果能够采用快进(fast-forward, ff)方式合并,则会直接以快进方式合并,分支的提交历史没有 "开叉" 现象,也就是没有多个父提交节点。

就像下面这样的例子:

       F1---F2---  feature/
M1---M2----------  master

  feature分支是从master分支M2切出来的。之后 feature 分支产生了 2 个提交,master 没有提交。

此时,我在 master 分支下,如果我采用以下的命令将 feature 分支到 master 分支上:

$ git merge feature

由于 master 上面没有新的提交,所以能够进行快进合并,合并后的分支如下:

M1---M2---F1---F2---  master/feature

也就是,master 和 feature 在同一个位置。master 直接快进到 feature 了。

二、非快进式合并

如果我们想保留合并历史记录,像下面这样,强制在 master 分支上产生一个新的合并提交:

       F1---F2---feature/       \
M1---M2--------MC---  master

其中,MC就是强制产生出的新的合并提交记录。那么应该怎样做?不快进合并即可。

在 merge 的时候指定--no-ff参数,即以非快进方式进行合并达到上面的结果。

$ git merge --no-ff feature

此时再考虑删除 feature 分支,此时 feature 分支的历史合并记录就被完整地记录下来了。

三、总结

默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支,就像下面这样:

使用--no-ff参数后,会执行正常合并,且会在Master分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法。就像下面这样:

主题:快进式合并 和 非快进式合并相关推荐

  1. 集成测试之增式集成测试和非增式集成测试

    集成测试的方法有两种: 非增式测试和增式测试 . 非渐增组装测试(非增式集成测试): 将单元测试后的模块按照总体的结构图一次性集成起来,然后把连接的整体进行程序测试. 即在短时间内把所有系统组件一次性 ...

  2. ! [已拒绝] dev - dev (非快进式)

    拉取代码 git pull origin dev:dev 的时候报这种错误 ! [已拒绝]          dev        -> dev  (非快进式) 可以这样解决,强制更新: git ...

  3. git分支合并之Fast-forword(快进方式)原理剖析

    git分支合并之Fast-forword(快进方式)原理剖析 git与svn创建分支差别 svn创建一个分支是将文件全部拷贝一份,而git则为其新的分支创建一个指针,其性能及效率相比与svn更加高效. ...

  4. 操作系统的内存管理机制(连续分配管理、页式、段式、段页式、快表、二级页表)

    来源:https://www.bilibili.com/video/BV1YE411D7nH 操作系统的内存管理机制(连续分配管理.页式.段式.段页式.快表.二级页表) 内存被分为系统区和用户区,系统 ...

  5. 互联网大厂、架构设计、稳定性、高可用、必备知识点技能,进大厂必备!!快来瞧瞧吧

    互联网大厂.架构设计.稳定性.高可用.必备知识点&技能,进大厂必备!!快来瞧瞧吧 复盘,赋能,沉淀,倒逼,落地,串联,协同,反哺,兼容 包装,重组,履约,响应,量化,发力,布局,联动,细分 梳 ...

  6. struct用法_精讲响应式webclient第1篇-响应式非阻塞IO与基础用法

    笔者在之前已经写了一系列的关于RestTemplate的文章,如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 精讲RestTemplate第2篇-多种底层HT ...

  7. 手机内部充电电流控制原理图(如果手机支持快充,比如支持9V快充,则通过充电接口的D+、D-二根线,输出对应的高低电平组合,FP6601就会控制它的3脚接地,4脚悬空,此时R3与R2并联,改变反馈下拉)

    手机内部充电电流控制原理图 来源:电工之家•作者:电工之家• 2019-12-08 10:48 • 7365次阅读 0 手机充电器电流控制方面: 现在的手机充电器,无一例外,都使用了隔离式开关电源电路 ...

  8. DIY多快充协议太阳能充电器!----快充协议实现原理

    在前面的几篇文章详细介绍了支持MPPT功能的太阳能锂电池充电电路和锂电池的三段式充电,最终使用上海如韵电子的CN3791降压芯片设计了锂电池充电电路.然后介绍了BOOST升压拓扑原理,并且采用了TI的 ...

  9. 数据结构之排序【归并排序和快排的顶级优化和快排的三种原理的实现及分析】 内含动态演示图

    文章目录 引言: 1.归并排序(MergeSort) 2.快速排序的优化(顶级优化) 3.快速排序的三种思路的代码实现及分析 4.归并排序和快排第3原理的测试 引言: 刚刚去回顾了一下递归实现的几个小 ...

最新文章

  1. Android中使用httpclient访问服务器,需要session功能
  2. 42岁著名黑客去世,曾拯救互联网:揭开索尼“罪行”、发现DNS漏洞
  3. linux固定分辨率,如何锁定分辨率
  4. 开源自建/托管与商业化自研 Trace,如何选择?
  5. YAFFS2文件系统在嵌入式LINUX系统中的应用
  6. 在linux关闭的命令,关于关闭Linux计算机的命令操作
  7. [链接地址] Express 4.x API 中文手册
  8. 递归法:实现指数型枚举(二叉树递归)
  9. selenium webdriver中的常用鼠标操作
  10. o2o是什么营销模式c语言求幂函数,O2O营销模式的特点是什么,o2o模式的运营方式...
  11. android编程如何调整屏幕亮度,Android编程设置屏幕亮度的方法
  12. python进行独立样本t检验
  13. 最新微信hook二次开发c#源码介绍
  14. 中国证券业协会公布证券公司会员2006年度有关业务指标排名前20名情况
  15. AR隐形眼镜来了,一部手机的价格,正式开启人体佩戴测试
  16. 如何对儿童虐待照片进行地理定位?
  17. 一览「数字身份」市场结构:我们将在元宇宙中成为谁?
  18. PostgreSQL隐藏列(兼容oracle)
  19. 目前收益比较好的广告联盟和广告方式
  20. 在Java中获取两个数的中间值(超大数值)

热门文章

  1. 相机中的HDR、WDR和EDR分别指的是什么?
  2. Unity Shader学习笔记/Urp/水墨风效果
  3. php缓冲 output_buffering的使用详解
  4. TS之类的继承与super
  5. 数据解读 | 这届年轻人为什么开始在B站看刑法了?
  6. 第三视角团队:项目UML设计(团队)
  7. 声网推出首个完整实时合唱解决方案 即将上线“咪哒”全国线下K歌房
  8. Oracle创建表空间/用户及导入导出
  9. Cesium:实现动态画多边形并测量面积
  10. python以读写方式打开文件_python文件读写