git之merge和rebase的区别

准备

创建仓库

在这里插入图片描述
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.rhkb.cn/news/145155.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于监督学习的多模态MRI脑肿瘤分割,使用来自超体素的纹理特征(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

picoctf_2018_got_shell

picoctf_2018_got_shell Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000)32位,只开了NX int __cdecl __noreturn main(int argc, const char **argv, const char **envp) {_DWOR…

蓝桥杯打卡Day15天

文章目录 买不到的数目错误票据 一、买不到的数目OJ链接 本题思路:引理:给定a,b,若dgcd(a,b)>1 ,则一定不能凑出最大数。结论:如果 a,b均是正整数且互质,那么由 axby,x≥0,y≥0 不能凑出的最大数是 ab−a−b。 证…

什么是Spring Bean?作用域有哪些

Spring Bean详解:作用域与示例 Spring框架是一个强大的Java开发框架,它提供了大量的功能和组件来简化企业级应用程序的开发。其中,Spring Bean是Spring框架中的一个核心概念,它扮演着重要的角色,用于管理和组织应用程…

FreeRTOS(以STM32F1系列为例子)

目录 任务管理任务函数任务控制块顶层任务状态创建任务xTaskCreatexTaskCreateStaticxTaskCreateRestricted 任务优先级和心跳设置心跳设置优先级概述vTaskPrioritySetuxTaskPriorityGet 非运行态扩充阻塞态vTaskDelay挂起状态vTaskSuspend就绪状态完整的状态转换图延迟函数vTa…

redis-设置从节点

节点结构 节点配置文件 主节点 不变 6380节点 port 6380 slaveof 127.0.0.1 63796381节点 port 6381 slaveof 127.0.0.1 6380启动 指定配置文件的方式启动 D:\jiqun\redis\Redis-6380>redis-server.exe redis.windows.conf启动时,会触发同步数据命令 主节点…

在Qt中,怎么获取到在mainwindow.ui文件中添加的控件

2023年9月30日,周六晚上 假设我在mainwindow.ui中添加了一个名为textEdit的QTextEdit对象 在mainwindow.cpp中,可以通过ui对象来获取到这个控件

Spring MVC 中的国际化和本地化

Spring MVC 中的国际化和本地化 国际化(Internationalization,简称i18n)和本地化(Localization,简称l10n)是构建多语言应用程序的重要概念。Spring MVC提供了丰富的支持,使开发人员能够轻松地处…

(三) gitblit管理员手册

(一)gitblit安装教程 (二) gitblit用户使用教程 (三) gitblit管理员手册 目录 权限管理创建仓库时创建用户普通用户 管理员用户访问限制和访问权限仓库创建权限分配 Teams普通组管理员组 参考资料 权限管理 创建仓库时 选择指定的人员查看,克隆,推送 不允许fork 对应Anonymo…

idea Springboot 高校科研资源共享系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 高校科研资源共享系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发), 系统具有完整的源代码和数据…

Lua学习笔记:require非.lua拓展名的文件

前言 本篇在讲什么 Lua的require相关的内容 本篇需要什么 对Lua语法有简单认知 对C语法有简单认知 依赖Visual Studio工具 本篇的特色 具有全流程的图文教学 重实践,轻理论,快速上手 提供全流程的源码内容 ★提高阅读体验★ 👉 ♠…

基于vue+Element Table Popover 弹出框内置表格的封装

文章目录 项目场景:实现效果认识组件代码效果分析 封装:代码封装思路页面中使用 项目场景: 在选择数据的时候需要在已选择的数据中对比选择,具体就是点击一个按钮,弹出一个小的弹出框,但不像对话框那样还需…

【RocketMQ】基本使用:Java操作RocketMQ(rocketmq-client)

【RocketMQ】基本使用&#xff1a;Java操作RocketMQ&#xff08;rocketmq-client&#xff09; 1.引入依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.3.2</version>…

C++ AB组辅导课

C AB组辅导课 蓝桥杯C AB组辅导课 第一讲 递归与递推 Acwing1、整数划分(递归)2、acwing92. 递归实现指数型枚举10凑算式(全排列)11李白打酒(全排列)12、棋牌总数(递归)13、剪邮票(递归)14、1050. 鸣人的影分身 (递归或动态规划(记忆化搜索))15、方格分割 &#xff08;dfs思维&…

【软件评测】Apowersoft 傲软抠图AI智能换背景工具软件

现如今的数字图像处理已经成为人们生活中不可或缺的一部分&#xff0c;而图像抠图作为其中的重要环节&#xff0c;更是被广泛应用于设计、摄影、广告等领域。为了满足用户的需求&#xff0c;Apowersoft推出了一款傲软抠图AI智能换背景工具&#xff0c;宣称能够自动抠图并智能替…

应用架构的演进:亚马逊的微服务实践

当你在亚马逊上购物时,或许不会想到,你看到的这个购物网站,其背后技术架构经历了什么样的变迁与升级。 还记得上世纪 90 年代,那个只卖书的网上书店吗?那时的亚马逊,不过是一个架构简单的网站,所有的功能都堆积在一个庞大的软件堡垒里。随着更多业务的增加、更新和迭代,这个软…

【数据结构篇】堆

文章目录 堆前言基本介绍认识堆堆的特点堆的分类堆的操作堆的常见应用 堆的实现JDK 自带的堆手动实现堆 堆 前言 本文主要是对堆的一个简单介绍&#xff0c;如果你是刚学数据结构的话&#xff0c;十分推荐看这篇文章&#xff0c;通过本文你将对堆这个数据结构有一个大致的了解…

Flink之Watermark生成策略

在Flink1.12以后,watermark默认是按固定频率周期性的产生. 在Flink1.12版本以前是有两种生成策略的: AssignerWithPeriodicWatermarks周期性生成watermarkAssignerWithPunctuatedWatermarks[已过时] 按照指定标记性事件生成watermark 新版本API内置的watermark策略 单调递增的…

(vue3)create-vue 组合式APIsetup、ref、watch,通信

优势&#xff1a; 更易维护&#xff1a;组合式api&#xff0c;更好的TS支持 之前是选项式api&#xff0c;现在是组合式&#xff0c;把同功能的api集合式管理 复用功能封装成一整个函数 更快的速度 更小的体积 更优的数据响应式&#xff1a;Proxy create-vue 新的脚手架工…

【小沐学前端】Node.js实现UDP通信

文章目录 1、简介2、下载和安装3、代码示例3.1 HTTP3.2 UDP单播3.4 UDP广播 结语 1、简介 Node.js 是一个开源的、跨平台的 JavaScript 运行时环境。 Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 它是几乎任何类型项目的流行工具&#xff01; Node.js 在浏览器之外…