IDEA解决Git冲突详解

目录

前言:

何为冲突

冲突演示

IDEA冲突解决

小结:


前言:

相信大家多多少少都有了解和使用过Git,作为Java程序员idea可谓是无敌的存在了,那么如何使用idea解决Git冲突呢?不瞒大家前段时间在公司把同事代码合丢了,还好给找回来了,以此片文章来警示自己,同时希望对大家有所帮助。

何为冲突

当多个开发者同时开发软件时,远程仓库代码就有可能被同事修改。如果同事所修改代码位置,和自己本地修改代码位置相同(相同指文件以及代码行数相同),如果同事先于你将代码push到远程仓库,当你再去push或者pull的时候就会产生冲突。

冲突的原因是因为相同代码位置,同事和自己写的代码是两个版本。当你push的时候,Git对于冲突的位置,不知是选择你写的代码还是同事的。pull到本地也是同理。

那么就需要先在本地将冲突解决,然后才可以推送到远程仓库。

冲突演示

这是我远程仓库的代码,这个时候我将 hello world 修改为 hello.

这个操作相当于模仿同事对远程仓库代码做了修改。

注意:

可以看出对于12行代码,远程仓库做出的修改和我本地的修改不一致,这个时候push或者pull的时候就会产生冲突,就是不知选择谁对于这一行代码修改的版本。

IDEA冲突解决

这个时候commit之后,进行push代码。idea就会提示需要合并本次提交。

注意:

**1)Merge:**自己选择怎么合并代码(个人建议选择这个)

**2)Accept Yours:**直接使用自己写的版本。

3)Accept Theirs:直接使用远程仓库版本。

点击Merge之后,会出现如下三列界面。最左边是自己写的版本,最右边是远程仓库版本,中间是合并后最终版本,这个时候也可以清楚看到我刚刚进行的修改。

我们可以点击 X 或者 >> 来选择使用该代码还是放弃该代码。可以即使用自己的版本也使用远程仓库版本,需要根据业务逻辑进行选择。冲突解决完成后,需要重新进行push操作。

上面标注的那个按钮,点击之后,可以只看代码冲突的部分,个人感觉还是非常实用的。

小结:

IDEA对于Git的操作是非常全面的,后续会持续更新IDEA对于Git操作教程。

相关推荐
一 乐4 小时前
电影院|基于springboot + vue电影院购票管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·电影院购票管理管理系统
恼书:-(空寄4 小时前
JVM GC 日志分析 + 常见 GC 场景 + 实战参数调优
java·jvm
消失的旧时光-19434 小时前
Spring Boot 实战(五):接口工程化升级(统一返回 + 异常处理 + 错误码体系 + 异常流转机制)
java·spring boot·后端·解耦
杨凯凡6 小时前
【012】图与最短路径:了解即可
java·数据结构
比特森林探险记6 小时前
【无标题】
java·前端
椰猫子6 小时前
Javaweb(Filter、Listener、AJAX、JSON)
java·开发语言
朝新_7 小时前
【Spring AI 】核心知识体系梳理:从入门到实战
java·人工智能·spring
一 乐7 小时前
旅游|基于springboot + vue旅游信息推荐系统(源码+数据库+文档)
java·vue.js·spring boot·论文·旅游·毕设·旅游信息推荐系统
我命由我123457 小时前
Android 开发中,关于 Gradle 的 distributionUrl 的一些问题
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
橙露7 小时前
SpringBoot 全局异常处理:优雅封装统一返回格式
java·spring boot·后端