【Git】P5 Git 远程仓库(3)pull 发生冲突
pull 发生冲突
- 冲突在什么场景下发生?
- 为什么要先 pull 再 push
- 构建一个冲突场景
- 初始
- 开始操作:
- 程序员2:
- 程序员1:
- 程序员2:
- 发生冲突:
- 查看冲突:
- 解决冲突:
冲突在什么场景下发生?
Git在文件合并时是比较智能的,对于同一个文件不同位置的修改内容会自动合并,只有在同一个文件同一个位置被同时修改时(本地仓与远程仓的当前版本有差异),才会产生冲突。
摘自华为云,说的很清晰;
所以事实上很少情况下会发生冲突;只有在同一个文件,同一个位置,被同时修改。
为什么要先 pull 再 push
在修改完之后打算上传 push 之前,第一步操作是先 pull,为什么?
对于push可以理解为覆盖,个人项目不会出现这个问题,但是大项目,往往有很多人在一起修改,甚至你都不知道是谁在修改。所以这里有一个时间差的问题。
为了理解这点,我想先重申一下解决步骤:
老板给一个任务,解决一个服务的bug

- git clone
- 修复bug
- git add .
- git commit
- git pull
- git push
在你的第二步开始,将云端拉到本地,到第5步时,你都是与云端“失联”的,云端任何修改你都没有同步到本地,所以你需要在第五步进行pull操作;
构建一个冲突场景
初始
云端:
user.txt 内容为 user=aaaaa

开始操作:
程序员2 -> 程序员1 -> 程序员2
程序员2:
git clone git@gitee.com:hongduoxu/git_test.git bug-test
cd bug-test
vim user.txt # 正在更改 user=ccccc
# 未完待续...看程序员1操作
程序员1:
vim user.txt # 内容修改为 user=bbbbb
git add .
git commit -m 'bbbbb'
git pull
git push
程序员2:
git add .
git commit -m 'ccccc'
git pull
发生冲突:

查看冲突:
cat user.txt

解决冲突:
vim user.txt
# 打开后手动解决问题,只保留需要的部分,然后保存 :wq
然后再次执行:
git add .
git comment -m 'xxxxx'
此时再执行 pull
git pull
# return: Already up to date.
最后上传 push
git push
解决冲突完成。
其实解决冲突的关键在于为什么会发生冲突,毕竟发生冲突的要求如此苛刻。看到冲突后,我暂时认为最大的问题是需要冲突的地方,跟程序员1商量该如何改。
2023.3.8 包玉刚图书馆
相关文章:
【Git】P5 Git 远程仓库(3)pull 发生冲突
pull 发生冲突冲突在什么场景下发生?为什么要先 pull 再 push构建一个冲突场景初始开始操作:程序员2:程序员1:程序员2:发生冲突:查看冲突:解决冲突:冲突在什么场景下发生?…...
关于世界坐标系,相机坐标系,图像坐标系,像素坐标系的一些理解
关于世界坐标系,相机坐标系,图像坐标系,像素坐标系的一些理解前言一、各坐标系的含义二、坐标系转换1.世界坐标系与相机坐标系(旋转与平移)2.相机坐标系与图像坐标系(透视)3.图像坐标系与像素坐…...
企业防护ddos的注意事项,你知道吗?
DDoS,分布式拒绝服务攻击,是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。在当下,DDoS 攻击是非常常见的一种攻击方式,大…...
RocketMQ如何测试
RocketMQ如何测试MQ简介RocketMQRocketMQ测试点MQ简介 MQ:Message Queue,即消息队列,是一种应用程序之间的消息通信,简单理解就是A服务不断的往队列里发布信息,另一服务B从队列中读取消息并执行处理,消息发…...
SpringBoot中的bean注入方式和原理介绍
Spring Boot是一个非常流行的Java框架,它可以帮助开发者快速地构建高效、健壮的应用程序。其中一个重要的功能就是依赖注入,也就是将一个对象注入到另一个对象中,以便它们可以相互协作。在Spring Boot中,依赖注入是通过bean实现的…...
ESP32设备驱动-RFID-RC522模块驱动
RFID-RC522模块驱动 文章目录 RFID-RC522模块驱动1、RFID-RC522介绍2、硬件准备3、软件准备4、驱动实现1、RFID-RC522介绍 基于 NXP 的 MFRC522 IC 的 RC522 RFID 模块通常带有一个 RFID 卡标签和具有 1KB 内存的密钥卡标签。 最重要的是,它可以写一个标签,这样你就可以在里…...
SMETA认证有些客户是需要做窗口期的
【SMETA认证有些客户是需要做窗口期的】SMETA审核是常见的社会责任审核标准之一,中文全称为“Sedex 会员道德贸易审核”,英文为“Sedex Members Ethical Trade Audit”. SEDEX 官网:网页链接Sedex 作为目前市场流行的CSR审核标准,…...
面向对象设计模式:创建型模式之原型模式
文章目录一、引入二、代理模式,Prototype Pattern2.1 Intent 意图2.2 Applicability 适用性2.3 类图2.4 应用实例:使用下划线或消息框展示字符串2.4 应用实例:JDK java.lang.Object java.lang.Cloneable一、引入 二、代理模式,Pr…...
三维重建(单目、双目、多目、点云、SFM、SLAM)
1 相机几何与标定1.1 相机模型中的坐标系1.2 四种坐标系之间的转换1.3 相机内参1.4 相机标定2 单目三维重建2.1 NeuralRecon三维重建定义 在计算机视觉中, 三维重建是指根据单视图或者多视图的图像重建三维信息的过程. 由于单视频的信息不完全,因此三维重建需要利用经验知识. 而…...
Java中的final和权限修饰符
目录 final 常量 细节: 权限修饰符 Java权限修饰符用于控制类、方法、变量的访问范围。Java中有四种权限修饰符: 权限修饰符的使用场景: final 方法 表明该方法是最终方法,不能被重写。类 表明该类是最终类,不能被继…...
MySQL的基本语句(SELECT型)
基本MySQL语句SELECTSELECT FROM 列的别名去除重复行空值着重号算术运算符加法( )减法( - )乘法( * )除法( / 或DIV)求模( % 或MOD)比较运算符等于( )安全等于( <> )不等于( ! 或 <…...
日志服务搭建-ES-FileBeat-Kibana
1次订单量突增问题,导致了有几个数据没有录库,但是确有支付的记录,啥玩意,还能有这个操作,组内安排问题定位,解决,一看打出来的日志,只有支付有,生成订单这边没有&#x…...
大数据架构设计与数据计算流程
大数据架构设计Hadoop有3个核心组件:分布式文件系统HDFS;分布式运算编程框架MapReduce;分布式资源调度平台YARN。HBase,Hadoop dataBase,基于HDFS的NoSQL数据库,面向列式的内存存储,定期将内存数…...
207. 课程表
207. 课程表https://leetcode.cn/problems/course-schedule/ 难度中等1526 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [a…...
2023-03-08 mysql列存储数据库-查询执行过程分析
摘要: 在mysql的sql层和存储引擎的交互模式中, 存储引擎实现handler接口, 由SQL层负责调用接口, 所以执行的过程可以看作是在sql层中, innodb仅提供接口。 但是在mysql列存储引擎中, TMD直接替换掉了sql层的执行接口,并且将sql层的查询树转换成了自己的一套查询树, 然后根据…...
各种激活函数的计算公式、图像以及实现代码
激活函数已经成为神经网络中非常重要的一部分,随着各种类型的神经网络模型被人们开发出来,各种激活函数也应运而生,在不同的场景中,取得良好的效果。本文跟据著名的YOLO系列目标检测模型的源码 AlexeyAB Darknet,整理出…...
ArangoDB
介绍 ArangoDB 是一个原生的多模型开源数据库,具有灵活的文档、图形和键值数据模型。使用方便的类似 SQL 的查询语言或 JavaScript 扩展构建高性能应用程序。主要特点 在集群上安装 ArangoDB —— 安装简单灵活的数据建模:数据建模为键值对、文档或图表的…...
MySQL8.0Linux安装及主从的搭建
MySQL8.0Linux安装教程 下载并安装 需要说明的一点是我使用的是SSH secure shell Client连接linux系统的,它的用法和命令窗口差不多。界面如图:一样的使用Linux命令操作。 话不多说 第一步: 1)、切换到 /usr/local下 cd /usr/…...
苹果新专利实现无线技术传输睡眠数据,蓝牙在智能家居中的应用
苹果于 2017 年 5 月收购了芬兰科技公司 Beddit,只是在过去 6 年时间里并没有太大的动作。根据美国商标和专利局本周公示的清单,苹果获得了一项 Beddit 相关的技术专利。 根据专利描述,苹果使用一根或者多根天线,利用电磁辐射的…...
银行数字化转型导师坚鹏:数字化转型为什么需要致良知与知行合一
在银行数字化转型过程中,特别需要致良知与知行合一哲学思想的指导。 知中有行,行中有知;行极而知,知极而行;知行无端,知行无始。知与行是一件事,做事与培养本体(修心)也是…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
