git之merge和rebase的区别

news2024/11/25 10:53:03

准备

创建仓库

在这里插入图片描述
test-01文件
在这里插入图片描述
test-02文件
在这里插入图片描述

创建test01分支和test02分支

这里我们使用idea打开源代码
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
test02分支同操作

在这里插入图片描述

大致操作

test01分支对文件test01文件操作:
1.添加内容:test01第一次修改1
2.git commit
3.添加内容: test01第二次修改2
4.git commit

test02分支对文件test02文件操作:
1.添加内容:test02第一次修改3
2.git commit
3.添加内容: test02第二次修改4
4.git commit
5.git merge test01或者git rebase test01
6.git push origin

Merge过程详细操作过程

test01分支

1.添加内容:test01第一次修改1
在这里插入图片描述
2.git commit
在这里插入图片描述

3.添加内容: test01第二次修改2
4.git commit
在这里插入图片描述

test02分支

1.添加内容:test02第一次修改3
2.git commit
在这里插入图片描述
3.添加内容: test02第二次修改4
4.git commit
在这里插入图片描述
5.git merge test01
在这里插入图片描述在这里插入图片描述
6.git push origin
在这里插入图片描述
效果
在这里插入图片描述

版本链变化流程图
在这里插入图片描述
merge记录里面记录着test01相对于test02进行了哪些修改,
注意:如果我们会退掉了merge记录也会导致test01的test01_1和test01_2的提交记录丢失。
在这里插入图片描述

Rebase过程详细操作过程

test01分支和test02分支都先进行回退到初始,这里我们不使用revert,reset更适合我们现在测试这个场景
test02分支进行回退
1.查看日志

git log --pretty=oneline

在这里插入图片描述
2.版本回滚(硬撤销)

git reset --hard 34a89c58cc62bde5b724b1a220ace70e2930e7fb

在这里插入图片描述
目前就是我们刚新建test02分支的状态
在这里插入图片描述

test01分支进行回退
1.查看日志

git log --pretty=oneline

在这里插入图片描述
2.版本回滚

git reset --hard 34a89c58cc62bde5b724b1a220ace70e2930e7fb

在这里插入图片描述目前就是我们刚新建test01分支的状态
在这里插入图片描述
执行操作流程

test01分支对文件test01文件操作:
1.添加内容:test01第一次修改01
2.git commit
在这里插入图片描述

3.添加内容: test01第二次修改02
4.git commit
在这里插入图片描述

test02分支对文件test02文件操作:
1.添加内容:test02第一次修改03
2.git commit
在这里插入图片描述

3.添加内容: test02第二次修改04
4.git commit
在这里插入图片描述

5.git rebase test01
在这里插入图片描述
在这里插入图片描述
效果图
在这里插入图片描述
版本链变化流程图
在这里插入图片描述

从版本链中可知二者区别merge会比rebase多生成一条merge提交记录。
rebase的缺点:

  1. 由于没有merge记录,会导致管理者无法辨别当前分支的某些提交是合并过来的还是当前分支提交的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1048612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Arduino驱动DFPlayer Mini MP3模块

文章目录 Mini MP3模块简介产品参数引脚定义实验准备程序下载实物接线总结 Mini MP3模块 简介 DFPlayer Mini是一款小巧且价格低廉的MP3模块,可以直接接驳扬声器。模块配合供电电池、扬声器、按键可以单独使用,也可以通过串口控制,作为Ardui…

7.1 为什么要用函数

主要内容: 这段文字主要讲述了为什么要使用函数来进行程序设计,以及函数在程序设计中的重要性和作用。以下是这段文字的主要内容和要点: ### 1. **简化和清晰度** - 当程序规模较大,功能较多时,如果所有代码都写在主…

颜色+情感的英语表达还有这些,零基础学英语口语去哪里,柯桥有推荐的吗?

当我们探讨关于"blue"(蓝色)的多义性时,我们会发现英语中有许多其他词汇也有类似的双关意义。 既可以表示一种颜色或物理属性,又可以代表一种情感或心理状态。 这种现象在语言中很常见,反映了语言的丰富性和…

网址静态码手机制作教程,附图文详解!

网址的静态码是如何生成的呢?静态码是二维码的一种常用类型,一般常见的静态码类型主要是文本或者网址,那么在电脑制作静态码的方法相信很多小伙伴都知道怎么做,那么手机上制作的方法,大家感兴趣吗?下面来给…

百度主动推送不能用了,百度自动推送代码送给大家

从9月初,百度就开始大规模的删除网站,绝对大部分站长的大部分网站都失去了百度主动推送的资格,那么还有其他的方法推送给百度吗? 答案是有的,那就是百度自动推送。我们先来了解一下百度主动推送和百度自动推送的相关知…

【计算机网络笔记十】计算机网络面试问题总结

1. 计算机网络的各层协议及作用? 计算机网络体系可以大致分为一下三种,OSI 七层模型、TCP/IP 四层模型和五层模型。 OSI 七层模型:大而全,但是比较复杂、而且是先有了理论模型,没有实际应用。TCP/IP 四层模型&#x…

Fireboom on Sealos:半小时搞定一个月的接口工作

后端日常开发工作中有 88% 的接口都是 CURD,占用了超过 6 成开发时间。这些工作枯燥乏味,且价值低下,不仅荒废了时间,还无法获得任何成就感。而 Fireboom 可在 2 分钟内,完成传统模式下 2 天才能完成的接口&#xff0c…

实战项目:VB结合数据库实现-登录注册增删改查刷新

文章目录: 一:效果演示 二:实现思路 三:代码实现 form1 效果图 代码 form2 效果图 代码 form3 效果图 代码 一:效果演示 效果图◕‿◕✌✌✌ VB结合数据库实现-登录注册增删改查刷新 代码下载 数据库建表 外接程序—…

CISSP学习笔记:安全模型的原则、设计和功能

第八章 安全模型的原则、设计和功能 8.1 使用安全设计原则实施和管理工程过程 项目开发的早起阶段考虑安全是非常重要的 8.1.1 客体和主体 主体:请求访问资源的用户或进程客体:用户或进程想要的访问信任传递:A信任B并且B信任C&#xff0c…

用Python实现ROS节点(编写简单的消息发布器和订阅器)

用Python实现ROS节点(编写简单的消息发布器和订阅器) 圆圈是节点、中间的chatter是话题 可以用rosrun运行,也可以用python3 直接运行

leetcodetop100(29) K 个一组翻转链表

K 个一组翻转链表 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改…

什么样的人适合学习网络安全?你在其中吗?

有很多想要转行网络安全或者选择网络安全专业的人在进行决定之前一定会有的问题:什么样的人适合学习网络安全?我适不适合学习网络安全? 会产生这样的疑惑并不奇怪,毕竟网络安全这个专业在2017年才调整为国家一级学科,…

施耐德电气:勾勒未来工业愿景,赋能中国市场

9月19日,第23届中国国际工业博览会(简称“工博会”)在上海隆重召开。作为全球能源管理和自动化领域的数字化转型专家,施耐德电气在工博会现场全方位展现了自身对未来工业的全新视野与深刻见解,不仅展示了其贯通企业设计…

中药材商城小程序的作用是什么

古往今来中药材的作用非常大,无论中医院还是相关药材作坊都会有大量人购买,随着互联网电商拓展更多商品类目,中药材也可以通过线上销售,让消费者随时购买到所需商品,商家也能获得更多生意。 那么通过【雨科】平台搭建中…

二、2023.9.28.C++基础endC++内存end.2

文章目录 17、说说new和malloc的区别,各自底层实现原理。18、 说说const和define的区别。19、 说说C中函数指针和指针函数的区别?20、 说说const int *a, int const *a, const int a, int *const a, const int *const a分别是什么,有什么特点…

标题:探寻电大搜题,广东开放大学的智慧之旅

随着信息技术的快速发展和互联网的普及,越来越多的人开始选择通过电大学习。作为知名的广东开放大学,一直致力于提供高质量的教育资源,让更多人实现自己的梦想。在这个过程中,电大搜题微信公众号成为了学生们的得力助手&#xff0…

iTOP-RK3588开发板rknn_multiple_input_demo 体验

这个实例是展示同时输入多个(input1.bin 和 input2.bin)同时输入进行推理识别的例子。按照 3.2 章节设置 ndk 和编译即可,这里只给出编译和运行结果,如下图所示: 编译完成之后如下图所示: 编译完成之后,通 adb 命令在开…

Java新领域—设计

SSM SpringBoot 微信小程序 JSP 安卓

Oracle 11g_FusionOS_安装文档

同事让安装数据库,查询服务器信息发现操作系统是超聚变根据华为openEuler操作系统更改的自研操作系统,安装过程中踩坑不少,最后在超聚变厂商的技术支持下安装成功,步骤可参数该文。 一、 安装环境准备 1.1 软件下载 下载地址:…

【k8s】kubectl命令详解

文章目录 命令行工具 kubectl在slave下配置kubectl资源操作创建对象 API概述类型访问控制认证授权 废弃API说明 资源管理资源管理介绍资源管理方式命令式对象管理命令式对象配置创建yaml文件创建资源查看资源删除资源 声明式对象配置 kebectl在node节点上运行查看每种资源的可配…