git rebase冲突说明(base\remote\local概念说明)

主线日志及修改

$ git log master -p
commit 31213fad6150b9899c7e6b27b245aaa69d2fdcff (master)
Author: 
Date:   Tue Nov 28 10:19:53 2023 +0800

    4

diff --git a/123.txt b/123.txt
index 294d779..a712711 100644
--- a/123.txt
+++ b/123.txt
@@ -1,3 +1,4 @@
 1
 2
 3
+4^M

commit a77b518156879a5d7e93636eb826d40f873ff919
Author:
Date:   Tue Nov 28 10:19:37 2023 +0800

    3

diff --git a/123.txt b/123.txt
index bd956ea..294d779 100644
--- a/123.txt
+++ b/123.txt
@@ -1,2 +1,3 @@
 1
 2
+3^M

commit 9cb0b0d6c2c638fa9c35685972d0b57edbfd2d95
Author: 
Date:   Tue Nov 28 10:19:30 2023 +0800

    2

diff --git a/123.txt b/123.txt
index f33dfa2..bd956ea 100644
--- a/123.txt
+++ b/123.txt
@@ -1 +1,2 @@
 1
+2^M

commit 137b1d78d1f696c5dc21d595142e0681bb041e1a
Author:
Date:   Tue Nov 28 10:19:00 2023 +0800

    1

diff --git a/123.txt b/123.txt
new file mode 100644
index 0000000..f33dfa2
--- /dev/null
+++ b/123.txt
@@ -0,0 +1 @@
+1^M

冲突分支日志及修改(其中第2、3次提交为冲突提交,第四次为相同提交)

$ git log master-1 -p
commit 53d255eb15f59d0395453c7688a038bb9cf05816 (HEAD -> master-1)
Author: 
Date:   Tue Nov 28 10:21:20 2023 +0800

    4

diff --git a/123.txt b/123.txt
index 6065780..403b9a5 100644
--- a/123.txt
+++ b/123.txt
@@ -1,3 +1,4 @@
 1
 1-2
 1-3
+4
\ No newline at end of file

commit 7ac2b8868b83c4c1a50b52a3808c7df870ad90bb
Author: 
Date:   Tue Nov 28 10:21:10 2023 +0800

    1-3

diff --git a/123.txt b/123.txt
index ea907e6..6065780 100644
--- a/123.txt
+++ b/123.txt
@@ -1,2 +1,3 @@
 1
 1-2
+1-3^M

commit 91cf797a56db8a42623e707e01435d6d82f19402
Author: 
Date:   Tue Nov 28 10:21:02 2023 +0800

    1-2

diff --git a/123.txt b/123.txt
index f33dfa2..ea907e6 100644
--- a/123.txt
+++ b/123.txt
@@ -1 +1,2 @@
 1
+1-2^M

commit 137b1d78d1f696c5dc21d595142e0681bb041e1a
Author: 
Date:   Tue Nov 28 10:19:00 2023 +0800

    1

diff --git a/123.txt b/123.txt
new file mode 100644
index 0000000..f33dfa2
--- /dev/null
+++ b/123.txt
@@ -0,0 +1 @@
+1^M

在master-1分支中运行git rebase,结果如下:

$ git rebase master
Auto-merging 123.txt
CONFLICT (content): Merge conflict in 123.txt
error: could not apply 91cf797... 1-2
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 91cf797... 1-2

一、冲突部分全部手动解决不跳过,并以master-1为准
base 为 master-1 冲突提交(1-2)之前和 master 不冲突的BASE公共部分
local为 master 目的分支最新提交的全部内容
remote 为当前 master-1 冲突待(remote 在词典中可以翻译为相差很大的)提交的内容
在这里插入图片描述
提交1-2冲突后,解决1-3冲突显示如下:
base 和 remote的概念理解保持一致,但local与预期不符.
local更新为:当前 master-1 已经提交并保存的了部分,也就是最终master-1的在硬盘内(local)的内容
在这里插入图片描述
提交冲突1-3后,继续:
在这里插入图片描述
最终rebase完成。

二、第2个冲突以master为准,其他以master-1为准
解决1-2冲突,修改文件如下后再提交:
![在这里插入图片描述](https://img-blog.csdnimg.cn/8f7d2c2fa75c4fb387ad4abcfc80ce3c.p
解决1-3冲突,修改文件如下后再提交。
在这里插入图片描述
前面说 base 为 master-1 冲突提交(1-2)之前和 master 不冲突的BASE公共部分,但这里与预期不符,修改为:

base 为 master-1 冲突提交之前和 master 不冲突的提交,也就是可以共用(BASE)的提交,且为未修改前的提交

区别在于主体从内容,变成了一次提交,且为未修改前的提交

当前冲突修改界面说明:

这里local为上次解决冲突后的结果,也就是master-1(新),base变成冲突的上个提交1-2的冲突部分master-1(原始).
原始master-1日志列表 : 1-2 > 1-3 > 4
解决冲突1-2后 master-1 日志列表: (LOACL):1-2(新)> 1-3 >4 他们的共用BASE 提交 就是1-2(未修改前)

解决1-4冲突:
在这里插入图片描述
当前冲突修改界面说明:

原始master-1日志列表 : 1-2 > 1-3 > 4
解决冲突1-2后 master-1 日志列表: (LOACL):1-2(新)> 1-3(新) >4

三、第2冲突跳过,其他以master-1为准

1-2跳过,解决1-3冲突界面如下:
在这里插入图片描述
界面说明:
当前解决1-3,本地LOCAL 由于跳过1-2,所以LOCAL内容还是原始的1234. 这里相当于1-3 和 master (1-2跳过了形但魂还在) 进行rebase , 所以BASE为冲突分支的1-2。

总结:
base为 master-1 冲突提交之前和 master 不冲突的提交,也就是可以共用(BASE)的提交,且为未修改前的提交
local 为 当前 master-1 已经提交并保存的了部分,也就是最终master-1的在硬盘内(LOCAL)的内容
remote 为当前 master-1 冲突待(REMOTE 在词典中可以翻译为相差很大的)提交的内容

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用SpringBoot和ZXing实现二维码生成与解析

一、ZXing简介 ZXing是一个开源的&#xff0c;用Java实现的多种格式的1D/2D条码图像处理库。它包含了用于解析多种格式的1D/2D条形码的工具类&#xff0c;目标是能够对QR编码&#xff0c;Data Matrix, UPC的1D条形码进行解码。在二维码编制上&#xff0c;ZXing巧妙地利用构成计…

【Linux】命令行参数

文章目录 前言一、C语言main函数的参数二、环境变量总结 前言 我们在Linux命令行输入命令的时候&#xff0c;一般都会跟上一些参数选项&#xff0c;比如l命令&#xff0c;ls -a -l。以前我总是觉得这是理所当然的&#xff0c;没深究其本质究竟是什么&#xff0c;今天才终于知道…

180天Java从小白到就业-Day03-03Java位运算符、赋值运算符、数据交换的三种方式

1. 位运算符 Q&#xff1a;为什么要学习位运算 A&#xff1a;由于其运算效率更高&#xff0c;在JDK源码&#xff08;例如ArrayList、HashMap&#xff09;中大量使用位运算&#xff0c;想要看懂JDK源码必须懂位预算&#xff0c;但是在公司开发业务系统时位运算使用并不多。 Q…

N-135基于springboot,vue高校图书馆管理系统

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 系统分前后台&#xff0c;项目采用前后端分离 前端技术&#xff1a;vueelementUI 服务端技术&#xff1a;springbootmybatisredis 本项…

深入理解同源限制:网络安全的守护者(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

【可视化】图像分割中标签label与预测mask的两种可视化方法

前两天进行一个分割项目&#xff0c;模型训练完成后需要对分割效果可视化&#xff0c;特此记录两种方法。 示例中用到的原图、label和mask如下所示&#xff1a; 1. 标签label填充&#xff0c;预测mask勾线 第一种是标签label填充样覆盖&#xff0c;预测mask采用勾线描边的方式…

Oracle ORA12514 监听程序当前无法识别连接描述符中请求的服务

最简单的有可能是你的服务还没有开启&#xff0c;需要启动服务&#xff01;&#xff01;&#xff01;&#xff01; 在连接数据库的时候&#xff0c;有时会遇到一个“ORA12514&#xff1a;监听程序当前无法识别连接描述符中请求的服务”的错误&#xff0c;这个错误其实就是数据…

网页中的json文档,怎么保存到本地

火狐浏览器操作方法 方法一 右键——>另存页面为 方法二 点击右边的三条横线——>另存页面为 谷歌浏览器操作方法 方法一 右键——>另存为 方法二

LZW的编码和解码

不同于哈弗曼编码针对于每个元素编码&#xff0c;LZW主要针对字符串的编码优化&#xff0c;也就是把出现频率高的字符串压缩成一个字符表示&#xff0c;这也是大名鼎鼎的GIF采用的压缩格式。下面我将从三个角度谈谈我的一些理解&#xff0c;文章主要参考了这位大佬&#xff1a;…

SQL server 2016安装

1、关系数据库的基本概念。 行&#xff1a;每行成为一条“记录”或“元组”&#xff0c;用于描述一个对象的信息。 列&#xff1a;每列称为一个“字段”或“属性”&#xff0c;用于描述对象的一个属性。 2、主键与外键。 主键&#xff1a;键&#xff0c;即关键字。主键由一个或…

[传智杯 #2 决赛] 补刀

题目描述 UIM 在写程序的空闲玩一款 MOBA 游戏。 当敌方的小兵进入到我方防御塔的范围内&#xff0c;就会持续受到防御塔造成的伤害&#xff1b;当然我方英雄也可以对它造成伤害。当小兵的血量降到了 0 或者更低&#xff0c;就会被击杀。为了获得经验&#xff0c;UIM 希望在防…

C语言中的格式化输出符号:%d %c %p %x等

文章目录 概览%d%c%d和%c的区别%p%x %X输出浮点数参考 概览 C语言中的格式化输出符号有很多&#xff0c;以下是一些常见的&#xff1a; %d 或 %i&#xff1a;用于输出十进制整数。 %u&#xff1a;用于输出无符号十进制整数。 %f&#xff1a;用于输出浮点数。 %s&#xff1a;用…

Linux - 进程间通信

进程通信 初步理解进程通信 所谓进程之间的通信&#xff0c;就是两个进程之间的 数据层面的交互。 我们之前说过&#xff0c;父子进程之间是有一些数据通信的&#xff0c;子进程可以看到一些父进程 允许 子进程访问的数据&#xff0c;比如 父进程的 环境变量&#xff0c;子…

来CSDN一周年啦!!!

各位CSDN的uu们你们好呀&#xff0c;今天是小雅兰来到CSDN创作的一周年啦&#xff0c;时间&#xff0c;说长不长&#xff0c;说短也不短&#xff0c;在这一年中&#xff0c;我认为我也收获了一些很有价值的东西吧&#xff01;&#xff01; 一周年了&#xff0c;该创作的还得继续…

Android 应用资源概览

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、资源类型分组四、配置限定符名称表…

【Unity入门】声音组件AudioSource简介及实现声音的近大远小

AudioSource组件 将需要播放声音的物体挂载Audio Listener组件&#xff0c;实现声音的播放 AudioSource组件属性 &#xff08;1&#xff09;AudioClip&#xff08;音频剪辑&#xff09;&#xff1a;指定播放的音频文件。 &#xff08;2&#xff09;Output&#xff08;音频输…

Paxos 算法

Paxos 算法 介绍 Paxos 算法是第一个被证明完备的分布式系统共识算法。共识算法的作用是让分布式系统中的多个节点之间对某个提案&#xff08;Proposal&#xff09;达成一致的看法。提案的含义在分布式系统中十分宽泛&#xff0c;像哪一个节点是 Leader 节点、多个事件发生的…

使用mybatis-plus框架:@Autowired报错Could not autowire. No beans of ‘XXX‘ type found

使用mybatis-plus框架,使用xxmapper报错&#xff1a; 解决办法是&#xff1a;在mapper中添加注解&#xff1a; Repository Mapper 也可以使用 AutowiredSysRoleMenuService sysRoleMenuService;替代 AutowiredSysRoleMenuMapper sysRoleMenuMapper;方法名不同&#xff0c;但…

RHCE学习笔记(RHEL8) - RH294

Chapter Ⅰ 介绍Ansible ansible ansible是一款开源自动化平台 ansible围绕一种无代理架构构建&#xff0c;在控制节点上安装ansible&#xff0c;且客户端不需要任何特殊的代理软件&#xff1b;ansible使用SSH等标准协议连接受管主机&#xff0c;并在受管主机上运行代码或命令来…

【嵌入式-51单片机】常见位运算和数据类型

51单片机中 数据类型如下&#xff1a; 位运算符如下&#xff1a; 按位左移<<&#xff1a;低位补零&#xff0c;高位移出 按位右移>>&#xff1a;高位补零&#xff0c;低位移出 按位与&&#xff1a;对应位上的值必须同时为1才为1&#xff0c;可以用来对指定位…