idea使用git之冲突

冲突产生的本质:修改的文件版本与仓库中最新文件版本不一致

也就是说只有当你修改的文件不是最新的文件时,才会产生冲突;所以建议每次修改代码前,都从仓库中拉一份最近的代码。

例如:本地库与远程库不同产生的冲突

1.在远程GitHub仓库中新建一份源代码。并更新到本地一份代码

idea使用git之冲突

2.修改本地仓库代码,但不提交。

idea使用git之冲突

3.修改远程仓库代码,并提交。

idea使用git之冲突

分析一下:假设原文件版本为001;第二个提交的,也就是远程仓库修改后提交的代码为版本002。此时最近的代码已经是002版本,但是本地的修改还是在001版本的基础上修改的,所以就回产生冲突。因为你不是在最新的代码版本上修改的

4.当你把本地库中的代码push到远程仓库中时,就会产生冲突。

界面如下:左边是本地仓库文件;中间是001版本的文件;右边是002版本的文件(仓库中最近文件)。

idea使用git之冲突

注意:如果没有产生冲突,左边是远程仓库的文件,右边是本地文件。

idea使用git之冲突

总结一下:如果没有冲突,右边为高版本的代码;因为右边是你更改过后,并且提交到版本库中的代码,而左边是版本库前一个版本的代码。如果有冲突,中间的为低版本的代码(也就是说两个人都没有修改之前的版本),而两边的代码,分别为两个人修改之后的新版本。