【Git企业开发】第三节.Git的合并冲突

news2024/10/6 10:29:50

作者简介:大家好,我是未央;

博客首页:未央.303

系列专栏:Git企业级开发

每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!!!

文章目录

  • 前言
  • 一、Git的合并冲突
  • 总结


前言

一、Git的合并冲突

在实际分⽀合并的时候,并不是想合并就能合并成功的,有时候可能会遇到代码冲突的问题。

问题举例演示:
为了演示这问题,创建一个新的分支 dev1 ,并切换至目标分支,我们可以使用 git checkout - b dev1 一步完成创建并切换的动作,
代码示例:
hyb@139-159-150-152:~/gitcode$ git checkout -b dev1
Switched to a new branch 'dev1'
hyb@139-159-150-152:~/gitcode$ git branch
* dev1
master

在 dev1 分支下修改 ReadMe 文件,更改文件内容如下,并进行一次提交,如:
代码示例:
hyb@139-159-150-152:~/gitcode$ cat ReadMe
hello bit
hello git
hello world
hello version1
hello version2
hello version3
write bbb for new branch                        # 将 aaa 该为 bbb
hyb@139-159-150-152:~/gitcode$ git add .
hyb@139-159-150-152:~/gitcode$ git commit -m"modify ReadMe"
[dev1 0854245] modify ReadMe
1 file changed, 1 insertion(+), 1 deletion(-)

切换至 master 分支,观察 ReadMe 文件内容:
代码示例:
hyb@139-159-150-152:~/gitcode$ git checkout master
Switched to branch 'master'
hyb@139-159-150-152:~/gitcode$ cat ReadMe
hello bit
hello git
hello world
hello version1
hello version2
hello version3
write aaa for new branch
我们发现,切回来之后,文件内容由变成了老的版本,这种现象很正常,我们现在也完全能理解。

此时在 master 分支上,我们对 ReadMe 文件再进行一次修改,并进行提交,如下:
代码示例:
hyb@139-159-150-152:~/gitcode$ git branch
dev1
* master
hyb@139-159-150-152:~/gitcode$ vim ReadMe
hyb@139-159-150-152:~/gitcode$ cat ReadMe
hello bit
hello git
hello world
hello version1
hello version2
hello version3
write ccc for new branch                   # 将 aaa 该为 ccc
hyb@139-159-150-152:~/gitcode$ git add .
hyb@139-159-150-152:~/gitcode$ git commit -m"modify ReadMe"
[master c10f6d0] modify ReadMe
1 file changed, 1 insertion(+), 1 deletion(-)

现在, master 分支和 dev1 分支各自都分别有新的提交,变成了这样:
图示示例:

这种情况下,Git 只能试图把各⾃的修改合并起来,但这种合并就可能会有冲突,如下所⽰:
代码示例:
hyb@139-159-150-152:~/gitcode$ git merge dev1
Auto-merging ReadMe
CONFLICT (content): Merge conflict in ReadMe
Automatic merge failed; fix conflicts and then commit the result.
hyb@139-159-150-152:~/gitcode$ git status
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: ReadMe
no changes added to commit (use "git add" and/or "git commit -a")

发现 ReadMe ⽂件有冲突后,可以直接查看⽂件内容,要说的是 Git 会⽤ <<<<<<<,=======,>>>>>>> 来标记出不同分⽀的冲突内容,如下所⽰:
代码示例:
hyb@139-159-150-152:~/gitcode$ cat ReadMe
hello bit
hello git
hello world
hello version1
hello version2
hello version3
<<<<<<< HEAD
write ccc for new branch
=======
write bbb for new branch
>>>>>>> dev1

此时我们必须要⼿动调整冲突代码,并需要再次提交修正后的结果!!(再次提交很重要,切勿忘记)
代码示例:
hyb@139-159-150-152:~/gitcode$ cat ReadMe
hello bit
hello git
hello world
hello version1
hello version2
hello version3
write bbb for new branch
hyb@139-159-150-152:~/gitcode$ git add .
hyb@139-159-150-152:~/gitcode$ git commit -m"merge ReadMe"
[master 2976afc] merge ReadMe

到这⾥冲突就解决完成,此时的状态变成了
图示示例:

⽤带参数的 git log也可以看到分⽀的合并情况,具体⼤家可以⾃⾏搜索 git log 的⽤法:
代码示例:
hyb@139-159-150-152:~/gitcode$ git log --graph --pretty=oneline --abbrev-commit
* 2976afc (HEAD -> master) merge ReadMe
|\
| * c594fd1 (dev1) modify ReadMe
* | c10f6d0 modify ReadMe
|/

最后,不要忘记 dev1 分⽀使⽤完毕后就可以删除了:
代码示例:
hyb@139-159-150-152:~/gitcode$ git branch
* master
hyb@139-159-150-152:~/gitcode$ git branch -d dev1
Deleted branch dev1 (was c594fd1).

总结

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

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

相关文章

海外问卷调查现在还可以做吗?

可以做&#xff0c;海外问卷调查是一个稳定长期的互联网创业项目。 大家好&#xff0c;我是橙河&#xff0c;这篇文章讲一讲海外问卷调查现在还可以做吗&#xff1f; 海外问卷调查&#xff0c;简单来说&#xff0c;就是外国的商业公司对外发放的付费调查问卷&#xff0c;按照…

1,2,3,4,5 专家正上路

早在20世纪70年代&#xff0c;德雷福斯兄弟(Hubert Dreyfus和Stuart Dreyfus)就开始研究人类如何获取和掌握技能&#xff0c;他们考察了日常生活中常见的各项技能活动&#xff0c;如开车、下棋、体育运动等&#xff0c;提出了德雷福斯模型。它是种构建理论&#xff0c;概括了从…

第十六章 隐马尔科夫模型

文章目录 简介概念随机变量与随机过程马尔可夫链隐含马尔可夫模型两个基本假设三个基本问题 算法观测序列生成算法概率计算算法前向概率与后向概率前向算法后向算法小结 概率与期望 学习问题监督学习方法Baum-Welch算法 预测算法近似算法(MAP)维特比算法(Viterbi) 简介 动态贝叶…

java--this关键字

1.this是什么 this就是一个变量&#xff0c;可以用在方法中&#xff0c;来拿到当前对象(这个this就相当于你的车钥匙&#xff0c;当你在把车停到了车库&#xff0c;然后你发现找不到你的车的时候&#xff0c;就会按一下车钥匙&#xff0c;让你的车叫一下&#xff0c;你就会晓得…

《现代C++语言核心特性解析》笔记(一)

一、新基础类型&#xff08;C11&#xff5e;C20&#xff09; C基础类型回顾一览表 1. 整数类型 long long 我们知道long通常表示一个32位整型&#xff0c;而long long则是用来表示一个64位的整型。不得不说&#xff0c;这种命名方式简单粗暴。不仅写法冗余&#xff0c;而且表…

若依笔记(四):代码生成器

已知使用MyBatisPlus代码生成器可以自动生成Entity、Mapper、Service、Controller代码&#xff0c;前提是数据库中有数据表&#xff0c;生成pojo类以及对于该数据表的增删改查命令的代码&#xff0c;若依更进一步能选择表后生成代码、预览、下载&#xff0c;同时可以生产前端代…

构建强大的Web应用之Django详解

引言&#xff1a; Django是一个功能强大且灵活的Python Web框架&#xff0c;它提供了一套完整的工具和功能&#xff0c;帮助开发者快速构建高效的Web应用。本篇文章将带您逐步了解Django的基本概念和使用方法&#xff0c;并通过实际的代码案例&#xff0c;帮助您从零开始构建自…

【docker】安装xxl-job-admin调配中心

1.安装数据库&#xff08;注意版本号&#xff0c;这里选择版本2.3.1&#xff09; 1.1下载代码&#xff0c;并切换到2.3.1分支 1.2 打开并运行xxl-job/doc/db/tables_xxl_job.sql 2.编写docker-compose.yaml&#xff0c;并运行 1. docker-compose.yaml 2.将yaml放入Linux系…

滑模控制问题总结

设计切换函数/滑模面S&#xff08;x&#xff09; 线性&#xff1a; 滑模面参数确定方法&#xff1a;Hurwitz 保证多项式为Hurwitz&#xff0c;即特征值在左半平面。 主要适用于速度和精度要求都不高的非线性系统 非线性 《滑模变结构控制理论研究综述》 终端滑模控制&#xff1…

Redis事务管道

文章目录 Redis事务1.简介&#xff08;1&#xff09;什么是事务&#xff08;2&#xff09;Redis事务的特点 2.实操案例&#xff08;0&#xff09;事务命令&#xff08;1&#xff09;正常执行&#xff08;2&#xff09;放弃事务&#xff08;3&#xff09;全体连坐&#xff08;4&…

tiki靶机攻略

tiki靶机攻略 扫描 渗透 访问robots.txt 发现目录&#xff0c;访问一下 再次扫描/tiki/目录&#xff0c;然后发现changelog下又tiki的版本信息 kali漏洞搜索&#xff0c;找到一个符合版本的 python3 48927.py 10.4.7.159执行过后&#xff0c;显示不需要密码即可登录 随后bp登…

gd32f470zgt6最小系统 上哪找到

gd32f470zgt6最小系统 上哪找到

Docker 学习路线 2:底层技术

了解驱动Docker的核心技术将让您更深入地了解Docker的工作原理&#xff0c;并有助于您更有效地使用该平台。 Linux容器&#xff08;LXC&#xff09; Linux容器&#xff08;LXC&#xff09;是Docker的基础。 LXC是一种轻量级的虚拟化解决方案&#xff0c;允许多个隔离的Linux系…

VS Code 开发Java之代码导航和代码编辑

快速导航 VS Code提供了一些功能可以在Java开发时快速导航。 代码导航 大纲视图&#xff08;Outline view&#xff09;&#xff1a; 方便地导航当前文件中的成员项目视图&#xff08;Projects view&#xff09;&#xff1a; 项目的详细概述Java编辑器&#xff1a; 支持调用层…

模电学习路径

交流通路实质 列出电路方程1&#xff0c;方程1对时刻t做微分 所得方程1‘ 即为 交流通路 方程1对时刻t做微分&#xff1a;两个不同时刻的方程1相减&#xff0c;并 令两时刻差为 无穷小 微分 改成 差 模电学习路径&#xff1a; 理论 《电路原理》清华大学 于歆杰 朱桂萍 陆文…

3D模型格式转换工具HOOPS Exchange:如何将3D PDF转换为STEP格式?

3D CAD数据在制造、工程和设计等各个领域都扮演着重要的角色。为了促进不同软件应用程序之间的协作和互操作性&#xff0c;它通常以不同的格式进行交换。 HOOPS Exchange是一个强大的软件开发工具包&#xff0c;提供了处理和将3D CAD数据从一种格式转换为另一种格式的解决方案…

WoShop跨境电商源码:告别繁琐,一键实现批量发货

随着全球电子商务的飞速发展&#xff0c;越来越多的商家开始进军跨境电商领域。然而&#xff0c;搭建一个成功的跨境电商平台需要考虑众多因素&#xff0c;如订单处理、物流配送、支付结算等。在这个过程中&#xff0c;WoShop跨境电商源码因其强大的功能和简易的操作&#xff0…

NOIP2023模拟9联测30 金牌

题目大意 有一棵 n n n个顶点的树&#xff0c;这棵树上长度为 d d d的简单路径的价值为 2 d 2^d 2d。 有 q q q次询问&#xff0c;每次给出两个正整数 x , y x,y x,y&#xff0c;请你回答所有通过顶点 x x x和 y y y的简单路径的价值之和&#xff0c;输出答案模 998244353 99…

【kubernetes】k8s对象☞pod

文章目录 1、什么是pod2、pod的使用2.1 用于管理pod的工作负载资源2.2 pod怎样管理多个容器2.3 pod 操作系统2.4 pod和控制器2.5 pod模板 3、pod的更新与替换3.1 资源共享和通信3.2 pod中的存储3.3 pod联网 4、容器的特权模式4.1 linux 特权容器4.2 windows特权容器 5、静态pod…

uniapp之actionsheet 自定义组件

uniapp本身自带的actionsheet太丑&#xff0c;不够美观。闲着也是闲着&#xff0c;自己实现了一个类似的选择器。 支持功能&#xff1a; 1、左对齐 2、右对齐 3、居中 4、可加图标 下面贴出使用教程&#xff1a; <template><view><action-sheet alignment&…