Git – Fast Forward 和 no fast foward
Git 很是强大,在体验过rebase的华丽之后,再次发现之前在TFS上遇到的问题一下都有解了。但也印证了Git深入并非易事。这篇就谈下一个容易迷糊的概念:Fast forward。
Fast-Forward
当前分支合并到另一分支时,如果没有分歧解决,就会直接移动文件指针。这个过程叫做fastforward。
举例来说,开发一直在master分支进行,但忽然有一个新的想法,于是新建了一个develop的分支,并在其上进行一系列提交,完成时,回到 master分支,此时,master分支在创建develop分支之后并未产生任何新的commit。此时的合并就叫fast forward。
示例:
1. 新建一个work tree,在master中做几次commit
2. 新建develop的branch,然后再做多次commits
此时的分支流图如下(gitx):
正常合并
(master)$ git merge develop
Updating 5999848..7355122
Fast-forward
c.txt | 1 +
d.txt | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
create mode 100644 c.txt
create mode 100644 d.txt
可以看出这是一次fast-forward式的合并,且合并完之后的视图为扁平状,看不出develop分支开发的任何信息。
使用–no-ff进行合并
—no-ff (no fast foward),使得每一次的合并都创建一个新的commit记录。即使这个commit只是fast-foward,用来避免丢失信息。
(master)$ git merge –no-ff develop
Merge made by recursive.
c.txt | 2 +-
d.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
可以看出,使用no-ff后,会多生成一个commit 记录,并强制保留develop分支的开发记录(而fast-forward的话则是直接合并,看不出之前Branch的任何记录)。这对于以后代码进行分析特别有用,故有以下最佳实践。
好的实践
–no-ff,其作用是:要求git merge即使在fast forward条件下也要产生一个新的merge commit。此处,要求采用–no-ff的方式进行分支合并,其目的在于,希望保持原有“develop branches”整个提交链的完整性。Git – Fast Forward 和 no fast foward
转载于:https://www.cnblogs.com/xingzc/p/5975433.html
Git – Fast Forward 和 no fast foward相关推荐
- Git的Fast Forward和no fast foward合并模式对比
详细版本见个人博客:Git的Fast Forward和no fast foward合并模式对比 通常,合并分支时,如果没有分歧解决,就会直接移动文件指针,这就是Fast forward模式. 举例来说 ...
- Git 的 Fast Forward 和 no fast foward
原文地址 目录 Fast forward 概述 强制禁用 Fast forward 模式的具体方法 Fast Forward 和 no fast foward 合并模式对比 分支策略 小结 Fast ...
- Git- Fast Forward和no fast forward
Git 很是强大,在体验过rebase的华丽之后,再次发现之前在TFS上遇到的问题一下都有解了.但也印证了Git深入并非易事.这篇就谈下一个容易迷糊的概念:Fast forward. Fast-For ...
- git merge 的两种模式的区别 --no-ff与fast forward
git merge 将名字为branchName的分支合并到当前分支 有两种模式 git merge <branchName>:fast forward模式,快速合并,看不出做过合并. 不 ...
- FFmpeg是什么?(Fast Forward Moving Picture Experts Group)(AVFormat、AVCodec、AVFilter、AVDevice、AVUtil)
文章目录 前言 一.FFmpeg的定义 二.FFmpeg的基本组成模块 (1)FFmpeg的封装模块AVFormat (2)FFmpeg的编解码板块AVCodec (3)FFmpeg的滤镜模块AVFi ...
- fast无线网卡linux驱动,fast无线网卡驱动,详细教您fast无线网卡驱动
当我们使用笔记本电脑工作的时候,如果发现没有无线网络,有些用户会选择使用无线网卡,有的用户会使用fast无线网卡来上网,但是有用户不知道怎么都无法上网,这个时候该怎么办呢?这多半是因为没有安装fast ...
- 路由器fast服务器没响应,FAST路由器复位常见问题解决方法
许多用户在给FAST路由器复位后,发现怎么也登陆不了FAST路由器的管理页面,下面学习啦小编就给大家详解一下其中的原因,希望对您有所帮助! FAST路由器复位常见问题解决方法 一.检查电脑的本地连接是 ...
- fast无线路由器设置服务器,Fast迅捷无线路由器端口映射设置方法 | 192路由网
本文将介绍在Fast(迅捷)无线路由器上设置端口映射的方法,端口映射在Fast无线路由器中叫做虚拟服务器,它定义了广域网服务端口和局域网网络服务器之间的映射关系,所有对该广域网服务端口的访问将会被重定 ...
- 【fast ICA】基于fast ICA算法的去除伪迹matlab仿真
1.软件版本 matlab2021a 2.本算法理论知识 FAST方法,步骤如下所示: 3.核心代码 clc; clear; close all; warning off; addpath 'func ...
最新文章
- 为了把mysql的索引底层原理讲清楚,我把计算机翻了个底朝天
- jquery submit()不能提交表单的解决方法
- MTK MtkSettings Sim Dialog Patch
- 怎样将两个html页面合并,如何把WORD的两个页面合并在一起?
- 高仿国美在线底部代码实现
- 数组 -自动遍历数组-冒泡排序
- PetShop之ASP.NET缓存 --one
- 在python中、关于全局变量和局部变量、以下_关于全局变量和局部变量-Python
- 1051. Pop Sequence (25)
- [嵌入式方案][cx32l003] 一个健壮的BootLoader系统
- 路由器 android 打印机,用路由器将普通打印机变成网络打印机
- Linux vmwaver下安装cenos联网时出现 network is unreachable问题
- 天坑专业成功跨考计算机,研0渣渣前来报到
- 网络笔记:路由选路原则
- FTP bin和ascii的区别
- 界面仅允许扫码枪录入禁止手工键盘输入
- Remoting学习
- python xlsxwriter库生成图表的应用
- 樱花FRP内网穿透登录群晖相册ds photo
- 908. Smallest Range I