【Git】常见代码冲突及处理

常见的Git冲突场景及解决方案如下:

  1. 场景:同时修改同一行代码或同一文件的不同部分。
    原因:两个开发者对同一行代码或同一文件的不同部分进行了修改。
    解决方案:手动解决冲突,合并两个版本的代码。

    # 拉取最新代码
    git pull# 查看冲突文件
    git status# 打开冲突文件,手动解决冲突
    # 冲突部分会有标记<<<<<<<,=======,>>>>>>>,根据需求修改代码# 解决完冲突后,标记文件为已解决
    git add <冲突文件># 提交解决后的代码
    git commit -m "解决冲突"# 推送到远程仓库
    git push
    
  2. 场景:删除一个文件,而其他人对同一文件进行了修改。
    原因:一个开发者删除了一个被其他开发者修改的文件。
    解决方案:合并删除和修改的操作,并将文件恢复。

    # 拉取最新代码
    git pull# 恢复被删除的文件
    git checkout -- <文件名># 添加恢复的文件到暂存区
    git add <文件名># 提交恢复后的文件
    git commit -m "恢复被删除的文件"# 推送到远程仓库
    git push
    
  3. 场景:合并分支时,两个分支对同一文件进行了修改。
    原因:两个分支的开发者对同一文件进行了不同的修改。
    解决方案:手动解决冲突,合并两个版本的代码。

    # 切换到要合并的分支
    git checkout <目标分支># 合并分支
    git merge <源分支># 查看冲突文件
    git status# 打开冲突文件,手动解决冲突,同第一种情况解决冲突的方法# 解决完冲突后,标记文件为已解决
    git add <冲突文件># 提交解决后的代码
    git commit -m "解决冲突"# 推送到远程仓库
    git push
    

以上是一些常见的Git冲突场景和解决方案,可以根据具体情况选择合适的方法进行解决。在Git中,还存在一些其他的冲突场景和解决方案,例如历史版本回退产生冲突的情况。下面是一个例子:

  1. 场景:回退历史版本时,当前版本与目标版本之间有冲突。
    原因:当前版本与目标版本之间的代码存在冲突。
    解决方案:手动解决冲突,合并两个版本的代码。

    # 查看历史版本
    git log# 执行回退操作
    git checkout <目标版本号># 查看冲突文件
    git status# 打开冲突文件,手动解决冲突,同第一种情况解决冲突的方法# 解决完冲突后,标记文件为已解决
    git add <冲突文件># 提交解决后的代码
    git commit -m "解决冲突"# 推送到远程仓库
    git push
    

在Windows操作系统中,文件名不区分大小写可能会导致冲突的情况:

  1. 场景:在Windows操作系统中,文件名相同但大小写不同。
    原因:Windows操作系统不区分文件名的大小写,而Git在Linux上是区分大小写的。
    解决方案:手动修改文件名,以解决冲突。

    # 查看冲突文件
    git status# 修改文件名,解决冲突
    mv <原文件名> <新文件名># 添加已修改的文件到暂存区
    git add <新文件名># 提交解决后的代码
    git commit -m "修改文件名解决冲突"# 推送到远程仓库
    git push
    
  2. 场景:需要回滚本地所有变动,使本地代码与远程仓库完全一致。
    原因:本地代码与远程仓库的修改出现了严重冲突,无法手动解决。
    解决方案:回滚本地所有变动,使本地代码与远程仓库保持一致。

    # 确认当前所在分支
    git branch# 切换到主分支(假设主分支名为main)
    git checkout main# 拉取远程仓库的最新变动
    git fetch origin# 重置本地分支与远程分支一致
    git reset --hard origin/main# 强制推送本地分支到远程仓库,覆盖所有远程代码
    git push -f origin main
    

请注意,执行这个操作会丢弃本地所有未提交的变动,并强制将本地主分支与远程主分支保持一致。谨慎使用!

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

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

相关文章

【Mybatis】从0学习Mybatis(2)

前言 本篇文章是从0学习Mybatis的第一篇文章&#xff0c;由于篇幅太长CSDN会限流&#xff0c;因此我打算分开两期来写&#xff0c;这是第二期&#xff01;第一期在这儿&#xff1a;【Mybatis】从0学习Mybatis&#xff08;1&#xff09;-CSDN博客 1.什么是ResultMap结果映射&am…

常用技术网站,maven,git,ideal,java,mysql,Oracle,vue等

常用技术网站 前言pom依赖引用网址&#xff08;maven&#xff09;代码管理工具&#xff08;码云&#xff09;ideal插件下载地址流程图设计工具 前言 本文主要用来记录开发过程中可能会用到的技术资料网站&#xff0c;方便各位码友进行资料查询和资料获取。 pom依赖引用网址&a…

模拟栈(数组实现)

题目 实现一个栈&#xff0c;栈初始为空&#xff0c;支持四种操作&#xff1a; push x – 向栈顶插入一个数x&#xff1b;pop – 从栈顶弹出一个数&#xff1b;empty – 判断栈是否为空&#xff1b;query – 查询栈顶元素。 现在要对栈进行M个操作&#xff0c;其中的每个操作…

从小白到入门webrtc音视频通话

0. 写在前面 先会骑车&#xff0c;再研究为什么这么骑&#xff0c;才是我认为学习技术的思路&#xff0c;底部付了demo例子&#xff0c;根据例子上面的介绍即可运行。 1. 音视频通话要用到的技术简介 websocket 介绍&#xff1a;1. 服务器可以向浏览器推送信息&#xff1b;2…

C#,河豚算法(Blowfish Algorithm)的加密、解密源代码

Bruce Schneier 1 河豚算法&#xff08;Blowfish Algorithm&#xff09; 河豚算法&#xff08;Blowfish Algorithm&#xff09;是1993年11月由Bruce Schneier设计的一个完全开源的算法。 Blowfish算法是一个分组长度为64位、密钥长度可变的对称分组密码算法。 Blowfish算法具…

Android中AGP与Gradle、AS、JDK的版本关系

文章目录 AGP版本所要求的Gradle、JDK、SDK Build Tools最小版本Android Studio所要求的AGP最小版本 本文介绍了 在Android开发中由于AGP与gradle、JDK、AS等版本不匹配导致的编译失败问题屡见不鲜&#xff0c;尤其是对于新手而言更是叫苦不迭。新手经常遇到拿到别人的工程代码…

绕过过滤空格的 SQL 注入

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、基础知识介绍 在深入了解SQL注入等数据库安全话题之前,掌握一些MySQL数据库的基础知识是很重要的。以下是关于MySQL中一些核心概念和特性的简介: 1.1 MySQL中的大小写不敏…

学习Android的第五天

目录 Android ConstraintLayout 约束布局 简介 ConstraintLayout 约束布局分类 1、相对定位 (Relative positioning) 2、边距 ( Margins ) 3、居中定位和偏向 ( Centering positioning and bias ) 4、环形定位 ( Circular positioning ) 5、对可见性的处理 ( Visibilit…

SPECCPU2017操作说明

1、依赖包下载 yum install gcc* gfortran* 2、将软件包放至被测机器 3、增加权限 chmod X install.sh 4、运行安装 ./install.sh 5、运行 引入编译时所需的环境变量和相关库文件 source shrc 进入/spec2017&#xff0c;执行 ./runcpu -c ../config/Example-gcc-linux-ar…

Spark如何用repartition来提升执行效率

Spark如何用repartition来提升执行效率 什么是repartition如何使用什么时候需要使用repartition 什么是repartition repartition 是 Spark 中的一个转换操作&#xff0c;它可以用来增加或减少分区的数量。这个操作会产生一个新的 RDD&#xff0c;DataFrame 或 Dataset&#xf…

docker安装gitlab-runner

下载镜像并启动 docker run -d --name gitlab-runner --restart always -v /home/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest 进入gitlab-runner容器内 docker exec -it gitlab-runner bash 执行…

Java中Maven的使用分享

目录 Java中Maven的使用分享1. 什么是Maven&#xff1f;2. Maven的安装与配置3. Maven项目的创建与结构4. Maven依赖管理5. Maven生命周期和插件6. Maven常用命令7. 实际案例与高级操作8. 结语 Java中Maven的使用分享 欢迎来到本博客&#xff0c;今天我们将深入探讨Java项目中…

万物皆可播时代,我们如何把握机遇

在万物皆可播的时代&#xff0c;我们可以通过以下方式来把握机遇&#xff1a; 了解市场需求&#xff1a;通过观察和了解消费者的需求和偏好&#xff0c;发现具有潜力的市场空白。关注时尚、美妆、美食、旅游等领域的发展趋势&#xff0c;掌握最新的流行趋势&#xff0c;结合自…

春运开始,北斗卫星助力盲区来车预警提示

春运开始&#xff0c;北斗卫星助力盲区来车预警提示 近期春运开始&#xff0c;高德地图启动了2024年的“温暖回家路”服务计划&#xff0c;通过数字化服务创新保障春运出行。除了具备自学习能力的新能源导航首发亮相外&#xff0c;还重点升级了盲区会车预警服务。在山区弯道、…

❤ React18 环境搭建项目与运行(地址已经放Gitee开源)

❤ React项目搭建与运行 环境介绍 node v20.11.0 react 18.2 react-dom 18.2.0一、React环境搭建 第一种普通cra搭建 1、检查本地环境 node版本 18.17.0 检查node和npm环境 node -v npm -v 2、安装yarn npm install -g yarn yarn --version 3、创建一个新的React项目…

ABAP 笔记--内表结构不一致,无法更新数据库MODIFY和UPDATE

目录 ABAP 笔记内表结构不一致&#xff0c;无法更新数据库MODIFY和UPDATE ABAP 笔记 内表结构不一致&#xff0c;无法更新数据库 MODIFY和UPDATE 如果是使用MODIFY或者UPDATE

Live800:从客户反馈中学习与改进,塑造卓越的企业客户服务

在当今的商业环境中&#xff0c;客户反馈已经成为企业改进产品和服务&#xff0c;提升客户满意度&#xff0c;增强品牌形象的重要工具。今天将以企业客户服务为例&#xff0c;探讨如何从客户反馈中学习和改进&#xff0c;包括收集客户反馈、分析客户反馈、实施改进措施等方面。…

数据结构之快速排序

快速排序的基本思想是&#xff1a; 通过一趟排序将待排的记录划分为独立的两部分&#xff0c;称为前半区和后半区&#xff0c;其中&#xff0c;前半区中记录的关键字均不大于后半区记录的关键字&#xff0c;然后再分别对这两部分记录继续进行快速排序&#xff0c;从而使整个序列…

(27)温度转换

文章目录 每日一言题目解题思路代码结语 每日一言 什么叫作失败&#xff1f;失败是到达较佳境地的第一步。——菲里浦斯 题目 题目链接&#xff1a;温度转换 给你一个四舍五入到两位小数的非负浮点数 celsius 来表示温度&#xff0c;以 摄氏度&#xff08;Celsius&#xff0…

远程主机可能不符合 glibc 和 libstdc++ Vs Code 服务器的先决条件

vscode连接远程主机报错&#xff0c;原因官方已经公布过了&#xff0c;需要远程主机 glibc>2.28&#xff0c;所以Ubuntu18及以下版本没法再远程连接了&#xff0c;其他Linux系统执行ldd --version查看glibc版本自行判断。 解决方案建议&#xff1a; 不要再想升级glibc了 问题…