git 如何解决分支合并冲突(VS code可视化解决+gitLab网页解决)

article/2025/7/28 22:46:40

1、定义:两个分支修改了同一文件的同一行代码,无法自动决定如何合并代码,需要人工干预的情况。(假设A提交了文件a,此时B在未拉取代码的情况下,直接提交是会报错的,此时需要拉取之后再提交才会成功)

2、原始冲突解决演示:

背景:假设现在有主分支:develop,开发分支A,开发分支B,二者都是基于develop分支创建的,此时A 先向develop分支合并了一个文件index.js。然后B紧接着向develop分支上合并了自己修改的index.js文件,以为A和B都在index.js中写了不同的代码,此时git不知道保留哪段代码。此时就会报代码冲突。怎么解决呢?这里介绍的是在gitLab网页上做合并分支操作的情况。

首先如果出现代码冲突时,gitLab会给出提示提醒你合并冲突了,此时针对的代码冲突可以在gitLab上点击在线解决, 

如果不想在线解决冲突,也可在VS code中解决。首先使用git remote update -p  # 获取所有远程最新数据,并清理过时的远程分支 。其次git checkout 自己的开发分支名   # 切换到你的分支(假设当前不在你的分支)。然后git merge 主分支名   # 将远程 develop 分支合并到你的分支。此时在左侧的源代码管理中会列举冲突的文件(右侧会提示感叹号),点击进去会显示具体的冲突代码,此时可以依据自己的需求解决冲突之后,然后重新提交推送合并即可。

3、上面说到的原始合并冲突会有个情况,即开发分支B收到了develop的污染。下面说下进阶版。

背景:假设现在有主分支 :develop,开发分支A,开发分支B,初版发布分支1.1.0,更新版发布分支1.1.1,本次发布分支1.1.2。此时A与B分支都是基于1.1.0分支创建的,develop是调试用的分支。发布时会将各自的开发分支合并至发布分支上,但此时有个复杂情况就是分支A是第二次迭代的时候合并至1.1.1上了,此时分支B是第三次迭代的开发分支,是需要合并到1.1.2上的,此时有人就会问了,为什么B分支不在1.1.1的基础上创建呢?因为第二次迭代与第三次迭代是同步开发的。此时我再想通过merge develop到B分支上时就会出现污染。因为develop分支上可能存在某些代码是本次发布不需要发布出去的代码。此时,比如有个需求,需要在开发分支B上修改1.1.1分支上的某个文件index.js,此时应该怎么做呢?

解决方案:使用 gitcheckout+临时分支(推荐)

第一步:在本地模拟合并冲突

# 1. 确保当前在B分支且工作区干净
git checkout B
git status  # 确认没有未提交的修改

# 2. 基于当前B创建临时分支(用于安全测试合并)
git checkout -b 临时分支名称

# 3. 尝试将 develop 合并到临时分支(触发冲突):(这里也可以merge1.1.1分支,只是develop是调试分支,所有的开发分支都需要合并至develop分支验证通过才会合并至1.1.2上),这里解决的是B分支与develop分支合并冲突。

git merge develop
#这里会报冲突,但不会影响原B分支

第二步:在 VSCode 中查看冲突

VSCode 会自动检测冲突:
1.打开 源代码管理面板(左侧导航栏的 Git 图标)。
2.冲突文件会显示为 红色感叹号 !,文件名旁标注 CONELICT 。
3.点击冲突文件,会看到冲突标记(<<<<<<<、==----=、>>>>>>>)。

手动查看冲突文件:git status

第三步:清理临时分支(不保存合并结果),此时B分支完全未被修改,且你已知道冲突文件。

git checkout B #切换回原分支

git branch -D 临时分支名 #强制删除临时分支

第四步:此时可将刚刚在临时分支上解决好的冲突代码复制一份替换至B分支上,此时就可以精确的解决index.js文件的代码冲突,而不会造成污染。此时再次提交推送合并即可。


http://www.hkcw.cn/article/FNvfttFSkH.shtml

相关文章

大规模、高规格、全品类,2025郑州台球展览会,8月启幕

-同聚中原共赢未来&#xff0c;42000㎡的大型台球盛会&#xff0c;将在8月15-17日&#xff0c;在郑州中原国际会展中心启幕&#xff0c;期待台球企业、品牌和买家客户届时参与。全称&#xff1a;壹肆柒2025中国&#xff08;郑州&#xff09;国际台球产业博览会&#xff0c;同期…

学习STC51单片机23(芯片为STC89C52RCRC)

每日一言 成功的路上从不拥挤&#xff0c;因为坚持的人不多&#xff0c;你要做那个例外。 通过单片机发指令给ESP8266进行通信 通信原理(也是接线原理) 代码如下 代码解释一下&#xff0c;因为我们的指令是字符数组&#xff08;c语言没有字符串的概念&#xff09;&#xff0c;…

Roller: 抽奖系统测试的幕后剧本-测试报告

抽奖系统 - 测试报告 项目名称&#xff1a;抽奖系统 测试人员&#xff1a;LlvZi 测试时间&#xff1a;2025年5月25 - 2025年6月1 一、项目概述 该项目是一个操作简便、安全可靠的抽奖系统 。主要业务是抽奖&#xff0c;并支持管理员管理用户、奖品和抽奖活动&#xff0c;以配…

智语心桥:当AI遇上“星星的孩子”,科技如何点亮沟通之路?

目录: 引言:当科技的温度,遇见“星星的孩子”“智语心桥”:一座为孤独症儿童搭建的AI沟通之桥核心技术探秘:AI如何赋能“读心”与“对话”?个性化魔法:AI如何实现“千人千面”的精准干预?应用场景畅想:从家庭到机构,AI的全方位支持为什么是“智语心桥”?——价值、可…

c++学习之---模版

目录 一、函数模板&#xff1a; 1、基本定义格式&#xff1a; 2、模版函数的优先匹配原则&#xff1a; 二、类模板&#xff1a; 1、基本定义格式&#xff1a; 2、类模版的优先匹配原则&#xff08;有坑哦&#xff09;&#xff1a; 3、缺省值的设置&#xff1a; 4、ty…

GESP2024年3月认证C++二级( 第三部分编程题(1)乘法问题)

参考程序&#xff1a; #include <iostream> // 引入输入输出库 using namespace std; // 使用标准命名空间&#xff0c;简化代码int main() {int n; // 存储输入的数字个数cin >> n; // 读入 nlong long product 1; // 用 long long 存…

NX811NX816美光颗粒固态NX840NX845

NX811NX816美光颗粒固态NX840NX845 美光NX系列固态硬盘颗粒深度解析&#xff1a;技术、性能与市场全景透视 一、技术架构与核心特性解析 1. NX811/NX816&#xff1a;入门级市场的平衡之选 技术定位&#xff1a;基于176层TLC&#xff08;Triple-Level Cell&#xff09;3D NAN…

6、运算放大器—共模抑制比(七)

目录 1、共模抑制比&#xff08;CMRR&#xff09;的定义 2、共模误差推导 3、电阻对共模误差的影响 4、参数特性 运算放大器&#xff08;运放&#xff09;的共模抑制比&#xff08;Common-Mode Rejection Ratio, CMRR&#xff09;是衡量其抑制共模信号能力的关键参数&…

“日本7月5日末日论”疯传 漫画预言引发社会焦虑

最近,网上关于日本“末日论”的讨论引起了广泛关注。据说2025年7月5日日本将遭遇毁灭性灾难,三分之一的国土会被海水吞没,连中国游客都忙着退酒店改行程。这一说法源自30年前的一部漫画——《我所看见的未来》,作者自称梦见了未来。漫画家龙树谅曾“预言”过2011年的东日本…

卢伟冰:竞争从来不是小米面临的挑战 更重视内部优化与用户距离

小米集团发布第一季度财报后,总裁卢伟冰与投资人进行了深入交流。面对投资人关于小米未来挑战的问题,卢伟冰提出了两点看法。他指出,随着小米业务规模和组织规模的扩大,公司需要确保不偏离其价值观,并保持与用户的紧密联系。同时,小米的管理体系也需要不断升级,以匹配业…

郑钦文将第8次对阵萨巴伦卡 再战老对手

在2025年法网女单1/8决赛中,头号种子萨巴伦卡以7-5和6-3的比分击败阿尼西莫娃,顺利晋级八强。这已经是萨巴伦卡连续第三年进入法网八强,并且她在最近参加的十个大满贯赛事中都至少闯入了八强。接下来,萨巴伦卡将与中国选手郑钦文交手。两人此前已经有过七次对决,郑钦文仅在…

DeepSeek R1 重磅升级,天工超级智能体 App 上线,Claude 解锁语音新体验!| AI Weekly 5.26-6.1

&#x1f4e2;本周AI快讯 | 1分钟速览&#x1f680; 1️⃣ &#x1f9e0; DeepSeek R1-0528 重磅升级 &#xff1a;推理能力接近 o3 和 Gemini 2.5 Pro&#xff0c;AIME 2025 数学测试准确率从 70% 飙升至 87.5%&#xff0c;幻觉率降低 45-50%。 2️⃣ &#x1f50d; 阿里通义…

亚马逊FBA新规下:1个模型算准补货量,自动预警断货危机

随着亚马逊对库存管理日趋严格&#xff0c;尤其是近期FBA库存限制政策的频频调整&#xff0c;越来越多卖家开始重视智能补货的重要性。断货不仅会影响销量&#xff0c;还可能导致排名下降甚至失去黄金购物车。如何在FBA新规下精准补货、避免资金积压或断货风险&#xff1f;答案…

电工基础【3】星形(Y) 和 三角形(△) 电路切换

05 星三角形启动 (星三角启动) 1、电机星形(Y)的工作原理 2、电机三角形(△)的工作原理 3、电机星三角形启动电气原理图的讲解 4、时间继电器的讲解 -----小记----- 星三角也是很经常用&#xff0c;是很经典电路。 好&#xff0c;我们讲这个课之前的话&#xff0c;我们先了…

JS基础3—定时器

定时器目录 定时器周期定时器延迟定时器 定时器实践转盘旋转动画轮播图实现 定时器 周期定时器 setInterval() 每隔指定时间重复执行回调函数 const intervalId setInterval(callback, interval, [arg1], [arg2], ...);参数&#xff1a; callback&#xff1a;要执行的函数…

使用通义万相Wan2.1进行视频生成

使用通义万相Wan2.1进行视频生成 源代码准备运行环境准备创建Python虚拟环境并激活安装依赖包 模型下载生成视频官网的视频生成例子简单描述场景视频生成示例详细描述场景视频生成示例 最近通义万相开源了其视频生成模型。模型有两个版本&#xff0c;一个是1.3B的&#xff0c;一…

最新扣子(Coze)案例教程:小红书爆款书单推荐视频工作流!3分钟10个爆款视频,文学赛道书籍推荐视频日更必备工具,完全免费教程

大家好&#xff0c;我是斜杠君。 最近&#xff0c;星球群里有做小红书文学赛道的博主咨询&#xff0c;每天都在为制作书单的视频找素材、配背景、配音效等&#xff0c;产出量很低。想看看是否可以通过扣子工作流的方式&#xff0c;只要定制好一个工作流的流程&#xff0c;就可…

uniapp [安卓苹果App端] - 实现获取手机摄像头权限+调用相机拍照或拍视频+保存图片视频到相册,检测权限手机摄像头功能是否开启并引导用户同意授权,uniApp app端调用本机开启摄像头授权

前言 网上的教程乱七八糟且兼容性太差,本文提供优质示例。 在 uni-app App端(安卓APP | 苹果APP)开发中,详解在app平台端实现获取手机摄像头权限查询,有权限则开启本机摄像头完成拍摄或录制视频+保存媒体文件到相册等操作,反之无权限则提示开启摄像头与引导用户授权操作,…

【人工智能】深度学习利用人工智能进行VRT视频修复

目录 一、前提二、VRT的重要性和研究背景2. 1 VRT的背景&#xff1a;2.2 VRT的重要性&#xff1a; 三、视频修复概述3.1 定义与目标3.2 与单图像修复的区别3.3 对时间信息利用的需求 四、VRT模型详解4.1 整体框架4.2 多尺度设计和模块功能4.3 关键创新点 五、实验结果5.1 VRT在…

2024年视频号生态洞察报告 | 友望数据发布

2024年视频号直播带货达人和直播销售数据同步增长&#xff0c;直播电商规模不断扩张。从友望数据品类大盘看&#xff0c;服饰内衣、美妆护肤品类高速增长&#xff0c;电商生态持续繁荣。 微信小店的升级&#xff0c;特别是【送礼物】功能的上线&#xff0c;进一步打通社交与电商…