git 文件全部标红_git冲突解决,代码冲突、合并冲突。【IDEA版本】

其实所谓的冲突就是同一个文件同时被多个人修改了,导致git服务不知道要保存谁的。

一、同一个版本冲突解决

1-1、当我们正常拉取代码的时候,结果是这样的。

a850c467c2f4e802ba6f0335a5d9458f.png

1-2、如果有冲突的时候,将是这样的

7a701f5b51dc049e5b64fa5e879c76de.png

解决冲突的办法也有很多种

  • 选择自己的代码,也就是不要别人的,保留自己的。(Accept Yours)

  • 选择别人的代码,也就是不要自己的,保留别人的。(Accept Theirs)

  • 合并你们的代码,然后自己去手动解决冲突

对于我们熟悉的代码,我们可以选择保留别人或者自己的,但是一般我们都是选择合并,然后手动解决冲突。

ps:手动解决的意思:就是我们合并了冲突的代码,然后对代码进行增删改然后成为完整的代码,最后提交。

二、合并分支带来的冲突

同一个版本的冲突,一般文件很少,我们很好处理,但是合并分支可能就会造成多个文件的冲突了

正常情况下,直接点击合并就可以了。但是如果有冲突就会如下面的这样

baadd516a609007845af2ab2a0bfe2f8.png

点击手工合并此请求,会弹出下面这个窗口。

99d909815daa828d221bc0527114906d.png

上面的命令我大致理解成:先拉取最新的dev分支,再拉取最新的new-yinchuan分支,然后把它们合并,这时候肯定有文件冲突了,然后你再去手动解决冲突,然后提交到new-yinchuan分支,这样就完成了dev合并到new-yinchuan分支了。

我们打开IDEA的命令行

3d0d2172fb5df49e9aea57ec6315b268.png

36779c4d03da41c228d1a3feef773056.png

因为代码比较多,虽然冲突的文件是标红的,但是还是不好找,我们可以点击提交代码的按钮,但是不要提交,这时候我们可以看到红色就是冲突的代码了。

2dc35be17e5a872ac8b524e9ec1b524a.png

我们手动解决冲突,可能会有多个文件,然后一个个解决就好了,解决完毕后提交代码就完成了。

三、其它

我们知道了冲突的原因,冲突就不可怕了。其实解决冲突也不困难,只是比较麻烦,要去对比代码然后修复代码,时间充足的情况下还好,如果比较紧急的时候遇到冲突就很蛋疼了。

我们的git最好设置成,必须拉取后才能提交,这样会大大减少一些不必要的冲突。

还有就是我们的团队要协商好,谁谁什么时候改什么文件,代码冲突影响的不是一个人,还有别人,所以改公共代码之前最好先协商好。


版权声明:本文为weixin_36431489原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。