使用idea解决git冲突

冲突发生在push远程分支过程中,在idea中可以方便的去解决git冲突,idea会智能的判断冲突的类型,如果可以直接合并则会自动完成合并,如果不能直接合并会让开发人员手动完成合并

情况1:不同人修改不同文件

开发人员A新增或修改文件a提交到分支1,之后开发人员B新增或修改文件b提交到分支1,此时提交分支会报错

在这里插入图片描述

可以点击merge合并命令,会拉取远程文件到本地进行合并后自动提交
而点击rebase命令,会拉取远程文件到本地进行合并,再次手动点击push提交。

情况2:不同人修改同一文件不同区域

开发人员A修改文件a第三行提交到分支1,之后开发人员B修改文件a第七行提交到分支1,此时提交分支会报错

在这里插入图片描述

可以点击merge合并命令,会拉取远程文件到本地进行合并,再次手动点击push提交。

情况3:不同人修改同一文件相同区域

开发人员A修改文件a第三行提交到分支1,之后开发人员B修改文件a第三行提交到分支1,此时提交分支会报错

在这里插入图片描述

点击merge命令,会再次弹窗,冲突的代码会显示到文件中。

在这里插入图片描述

此时再次点击弹窗中merge

在这里插入图片描述

需要手动完成merge合并
左边为自己的版本,中间为最终合并的版本,右边为远程版本

在这里插入图片描述

点击>>将冲突的代码增加到中间合并版本中,点击X则放弃该处代码。
合并完成后再手动点击push提交

情况4:不同人修改同一文件的文件名

开发人员A修改文件a的名称为文件c提交到分支1,之后开发人员B修改文件a的名称为文件d提交到分支1,此时提交分支会报错

一般很少发生同一文件名被不同人修改的情况

在这里插入图片描述

此时点击rebase,选择该文件最终的文件名是取你自己的文件名,或者取其他人修改的文件名,选择好文件名后,代码中可能需要调整冲突代码,如文件名为类名,修改了文件名,就需要修改类名。
当commit提交本地时发现无法成功commit,需要在终端执行git status查看状态,发现有旧文件名丢失。需要执行git rm 旧文件名全路径,执行完成后就可以commit提交本地了,最后手动点击push提交。

遇到git相关的问题,可以执行git status查看文件状态

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值