2024年教你IDEA解决GIT冲突_idea git解决冲突,由浅入深
外链图片转存中…(img-THA7tsUP-1715627281111)][外链图片转存中…(img-AczMCur9-1715627281112)]网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
当多个开发者在
不同
的分支
上同时修改同一个文件
时,如果合并这些分支时存在对同一部分的修改,就会导致冲突。
- ✨
合并分支
当你尝试将一个
分支合并
到另一个分支时,如果这两个分支都修改了同一个文件的相同部分
,Git 无法自动确定应该采用哪个版本的修改,就会产生冲突。
- ⏳
修改历史
如果在 Git 历史中的
不同提交
中对同一文件
的相同部分
进行了修改
,当你试图合并这些修改时,Git 无法确定应该如何组合它们,因此会导致冲突。
那么我们可以很显而易见的知道,造成GIT冲突的最直接的原因为:通过不同的途径
对同一个文件的相同地方
进行修改
了,就会造成GIT冲突
GIT解决冲突
在讲解IDEA进行解决GIT冲突前,先来讲解以下通用的GIT解决冲突的步骤和方式
🧡💛💙💖💝🧡💛💙💚💜🤎🖤🤍💝
以下举例给大家讲解如何解决冲突
步骤
假定有
A分支
和B分支
.我们需要将A分支
的代码合并
到B分支
代码,且修改相同文件的相同代码块,会有git冲突
首先先使用指令确定当前是否为A分支
git branch
如果当前分支不是 A分支
,可以切换到 A分支
分支。使用以下命令切换分支:
git checkout A分支
确保当前分支是最新的,可以使用以下命令拉取最新代码
git pull origin A分支
需要注意的是:要合并代码一定要为最新代码
切换到要合并的分支,也就是B分支
git checkout B分支
将A分支
合并B分支
git merge A分支
因为我们假定一定会出现冲突,因此接下来是解决冲突的步骤🚗
这个时候,GIT会标记我们冲突的代码,假如打开我们的冲突的文件,你会在该文件看到如下示例:
<<<<<<< HEAD
这部分是当前分支的修改
=======
这部分是合并分支的修改
>>>>>>> branch-name
查看冲突部分,并理解每个版本的修改。<<<<<<< HEAD 到 ======= 是当前分支的修改,======= 到 >>>>>>>branch-name 是合并分支的修改。
🌼🌷🌻🥀☘🌱🌺🌲
然后,手动编辑文件,选择你希望
保留的修改
或者组合修改
。你可以删除 <<<<<<< HEAD 到 ======= 之间的内容,或者删除 ======= 到 >>>>>>> branch-name 之间的内容。
这一步,是为了留下你想留下的代码,将代码更新最新
假定冲突文件名为:myfile.txt
,使用如下指令提交解决冲突后的代码
git add myfile.txt
git commit
使用
git add < file>
命令将解决冲突后的文件标记为已解决
。
运行git commit
命令提交
解决冲突的版本。
最后,使用推送指令,将代码推送到远端
git push origin B分支
有可能在你解决完冲突的过程中其他人有新的代码已经推送到远端,因此在推送远端前建议先拉取最新代码,如果很确定不会出现这种情况可不做
以上大功告成,可喜可贺
🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹
IDEA解决冲突
接下来,我将使用一个实例来给大家讲解如何使用idea来更方便的解决冲突
在开始之前,请确保你的电脑安装并配置好了
GIT工具
,具体百度操作即可
步骤
首先,我先建立了一个git仓库
,并基于master主分支,新建了两个分支,分别为A分支
和B分支
以下截图,为了后续演示方便我两个分支名称就叫A分支
和B分支
克隆并打开项目,分别修改A和B分支
以下为讲解
A分支
合并
到B分支
的解决冲突的做法,我们·修改·文件README.md
文件
💛💚💙💚🧡💛💙💜💙💛🧡
从远端克隆下项目
git clone git地址
然后用IDEA打开项目,在右下角可以看到分支
初始我们什么都不做的情况下,
A分支
和B分支
的文件内容是一样的
以修改README.md文件为例,初始内容为:
# search\_markdown\_data
#### 介绍
用于检索markdown的数据来源
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com]( )
3. 你可以 [https://gitee.com/explore]( ) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP]( ) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help]( )
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/]( )
首先点击右下角先切换B分支
选择分支->CheckOut
修改B分支的README.md内容如下:
# search\_markdown\_data
#### 介绍
用于检索markdown的数据来源
#### 安装教程
1. xxxx 测试修改相同的地方B分支
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com]( )
3. 你可以 [https://gitee.com/explore]( ) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP]( ) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help]( )
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/]( )
即
修改内容
安装教程的第一条为1. xxxx 测试修改相同的地方B分支
以及删除
软件架构和软件架构说明字样
然后提交和推送远端
🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼
切换
A分支
,并修改README.md
内容为如下:
# search\_markdown\_data
#### 介绍
![img](https://img-blog.csdnimg.cn/img_convert/57ff5a69d48cdc98bf3758bd0ec5f80e.png)
![img](https://img-blog.csdnimg.cn/img_convert/64d54717f3167a2cb2965ab11f39f85c.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
>
> 切换`A分支`,并修改`README.md`内容为如下:
>
>
>
search_markdown_data
介绍
[外链图片转存中…(img-THA7tsUP-1715627281111)]
[外链图片转存中…(img-AczMCur9-1715627281112)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)