教你IDEA解决GIT冲突

这篇具有很好参考价值的文章主要介绍了教你IDEA解决GIT冲突。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

GIT基本上贯穿我们的开发生涯,之所以要使用git也是有很多优点的
🌹🌹🌹🌹🌹🌹🌹🌹

1.通俗易懂点,保存代码不丢失:防止因内存,操作等因素导致代码丢失

🌹🌹🌹🌹🌹🌹🌹🌹

2.易于版本控制:Git可以帮助你跟踪代码的变化,记录每个版本的变化和差异,方便回退到之前的版本或者查看代码的演进历史

🌹🌹🌹🌹🌹🌹🌹🌹

  1. 能够多人协作:Git支持多人同时对同一个代码库进行协作开发,可以方便地合并不同人的修改或者解决代码冲突。

以及其他方面等等优势,那么这篇文章我重点教大家如何解决GIT冲突

🎈🎈🎈✨✨✨🎈🎈🎈✨✨✨

为什么冲突

GIT冲突大致可以分为三类

  • 🎉并行开发

当多个开发者在不同分支上同时修改同一个文件时,如果合并这些分支时存在对同一部分的修改,就会导致冲突。

  • 合并分支

当你尝试将一个分支合并到另一个分支时,如果这两个分支都修改了同一个文件的相同部分,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文件

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch
idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch


💛💚💙💚🧡💛💙💜💙💛🧡

从远端克隆下项目

git clone git地址

然后用IDEA打开项目,在右下角可以看到分支

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch

初始我们什么都不做的情况下,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](https://blog.gitee.com)
3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4.  [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5.  Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6.  Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

首先点击右下角先切换B分支

选择分支->CheckOut

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch

修改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](https://blog.gitee.com)
3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4.  [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5.  Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6.  Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)


修改内容
安装教程的第一条为1. xxxx 测试修改相同的地方B分支
以及删除软件架构和软件架构说明字样

然后提交和推送远端

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch


🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼

切换A分支,并修改README.md内容为如下:

# search_markdown_data

#### 介绍
用于检索markdown的数据来源

#### 软件架构
软件架构说明


#### 安装教程

1.  xxxx测试修改相同的地方A分支
2.  xxxx
3.  xxxx

#### 使用说明

1.  xxxx
2.  xxxx
3.  xxxx
4. A分支新增
#### 参与贡献

1.  Fork 本仓库
2.  新建 Feat_xxx 分支
3.  提交代码
4.  新建 Pull Request


#### 特技

1.  使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2.  Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4.  [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5.  Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6.  Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)


修改内容
安装教程的第一条为1. xxxx 测试修改相同的地方A分支
以及新增4. A分支新增

提交并推送A分支到远端

A分支合并B分支

先切换到B分支

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch

在A分支的选项中选择merge into current,意思为把A分支合并到当前切换的分支

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch
此时会进行弹窗

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch

左边为冲突的文件,右边有三个选项,
🌼Accept Yours:接受当前分支变更
🌸Accept Theirs: 接受别人的分支的变更
🌻Merge...: 将两个分支的变更一起查看选择变更

这个根据实际选择不同进行解决冲突,一般情况选择第三个

点击merge出现如下界面出现了三分界面:
idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch

🧡左边屏幕为:当前分支的代码变更
💛右边屏幕为:其他分支的代码变更
💙中间屏幕为:解决冲突之后最终的代码结果

截取左上角的界面

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch
它有如下操作:

🌸上下箭头: 切换你要解决冲突的代码块,有的时候解决冲突的代码可能比较长,两处改动的代码块间隔比较多行,可以使用该操作
🌼Left,All,Right: 点击Lfet,代表把左边的冲突代码块合到中间,Right是把右边的冲突代码合到中间,All是把两边的冲突代码合并到中间.需要注意的是,该操作只能把冲突文件中的不是修改相同的地方的代码进行合并

截取解决冲突的操作界面:

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch

💛X按钮:代表不将变动合并到最终的结果
💙》按钮:代表将分支的变动合并到最终解决之后采用的变更

此外还需要注意的是,它一般有三种变更:

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch

🌻灰色冲突代码块:代表的是删除的代码块
🌷红色冲突代码块:代表的是双方改到相同的地方的代码块,一般情况真实项目中以对同一个功能需要添加两个不同功能居多
🌲蓝色冲突代码块:代表新增的代码块

灰色和蓝色的冲突块都好解决,直接点击All就行,如下为点击All最终执行的结果

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch

只留下修改相同的代码,至于需要执行什么操作,留下哪个分支的代码,或者两个分支的代码都要,在真实项目中,需要与其他开发者协商

那么这边,我两边的代码块都保留,也就是点击两边的》按钮:

当所有冲突解决完成之后,会提示:

All changes have bean proccessed. Save Changes and finish merging

的字样,就可以点击Apply,采用变更了,提一句,Abort按钮操作是取消合并

idea git拉取代码到本地冲突了怎么解决,git,intellij-idea,git,elasticsearch
然后提交并推送远端,我们的冲突就解决了
大功告成,可喜可贺,撒花~

🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹

结语

以上就是GIT解决冲突的过程啦,这篇文章就到这里文章来源地址https://www.toymoban.com/news/detail-762391.html

到了这里,关于教你IDEA解决GIT冲突的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IntelliJ:idea Git拉取代码

    1、任意打开一个项目后,点击File-点击New-Project from Version Control-点击Git   2、弹出下面框,URL:git地址,Directory:拉取代码到本地目录   3、将获取到的git地址复制到URL里面,再点击Test    4、点击Test将会弹出以下模态框,输入申请的git账号、密码,点击Log In    5、再点击C

    2024年02月11日
    浏览(67)
  • idea中GIT拉取代码失败

    可能是pull代码的时候网络中断了一下,然后后面一直update project failed,而且手动git pull代码是也出现 fatal: bad object refs/remotes/origin/master error: \\\"远程仓库地址\\\"did not send all necessary objects  解决方法: 方法一: // 进去该项目下的.git文件内的本地远程分支目录 cd .git/logs/refs/remote

    2024年02月11日
    浏览(66)
  • 【更新不全问题解决】IDEA中Git从远程其他分支拉取代码到自己分支更新不全问题解决

    出现这个问题往往是因为没有先拉取远程分支的最新变化到本地导致的,具体操作流程和解决方法如下: 1、首先,先确保本地有一个和远程要拉取分支(比如dev_z)相关联的分支,如果没有:选择远程要拉取的分支,点击Checkout As 2、在本地切换到和远程要拉取分支(比如dev_z)相

    2024年02月08日
    浏览(56)
  • IDEA的Git操作——拉取、对比开发代码

    一、git原理 git是一个分布式的版本管理工具,主要分为2个部分: 本地:分为3个区:working space(工作区)                                staging area(暂存区)                                local repository(版本库或本地仓库) 远程仓库: 二、idea关联git 主

    2024年01月17日
    浏览(42)
  • Idea使用git拉取代码 : (git merge、git rebase)区别

    我们使用pull拉取远程仓库的代码时,通常有两个选项,一个是 merge ,一个是 rebase ,这两个之间有什么区别呢? 这两个选项都是将远程仓库的代码合并到本地仓库的代码,但是在使用上是不同的。 1、使用merge合并远程仓库的代码是按照代码的提交时间进行展示的,也就是说使用m

    2024年02月16日
    浏览(46)
  • vscode中git拉取、提交代码、解决冲突,以及合并代码的操作

    场景:本地有修改代码,远程仓库没有更新,这时本地想要提交代码。 步骤:本地修改了testA文件内容-本地先暂存提交-拉取-推送; 本地修改了testA文件内容 本地先暂存提交 拉取 推送 远程仓库上就可以看见提交记录了 解决冲突场景:本地有修改代码,远程仓库同时有更新

    2024年02月05日
    浏览(63)
  • IDEA结合Git拉取代码到自己的分支

    步骤说明: 创建自己的分支,例如:项目名_csdn_dev 在Git库中复制项目Git地址 在IDEA中选中file–new–project from Version control…输入复制的项目Git地址,以及拉取的代码在本地的存放地址 找到对应的分支拉去代码到自己的分支(项目名_csdn_dev) 详细步骤演示 : 1、创建自己的分

    2024年02月15日
    浏览(56)
  • 极简并优雅的在IDEA使用Git远程拉取项目和本地推送项目

     搜索Git然后将你下载好的Git的文件目录位置给他弄进去就行   分支管理通常是在IDEA的右下角找到    如果当前项目还没交给Git管理的则按照以下图所示先将项目交给Git管理  然后此时文件都会是红色的,这表明都还没有加入到缓存区,因此要先add一下  然后commit  可以看到

    2024年02月15日
    浏览(63)
  • IntelliJ IDEA切换Git远程分支 提交代码 拉取最新代码

            前言:众所周知Git用命令提交代码比较繁琐,而且还得记住命令,那如何让我们更加方便的提交代码呢 以及获取最新内容拉到本地 还有更换你要提交到的分支呢 下面废话不多说。 目录 IDEA里切换Git分支 IDEA里提交代码到远程 IDEA拉取最新代码 第一种: 右键项目

    2023年04月24日
    浏览(97)
  • 解决 Git 推送与拉取代码冲突和异常问题的完整指南

    Git 是现代软件开发中最受欢迎的版本控制工具之一,它可以帮助开发者管理代码并与其他人协作。然而,在使用 Git 进行推送和拉取代码时,有时候会遇到一些冲突和异常问题,这会影响开发者的工作效率和代码质量。因此,本文将介绍 Git 中常见的推送和拉取代码冲突/异常

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包