目录
前言:
相信大家多多少少都有了解和使用过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操作教程。