简单来说就是本地修改的文件和目标远程库的同一个文件都有修改。这时无论是pull丶push丶merge时都会产生冲突。

冲突的根本其实就是一个版本在前了,一个版本在后了,merge的时候又想把前版本合并到后版本去,肯定会存在冲突,就像过去的东西你能随便拿到现在使用吗,是一样的道理

举例:
1.不同分支下的merge
比如在不同分支下进行分支合并时,我们在本地修改了a文件并把a文件的修改push到了test分支下,接着我们切换到master分支下将test分支上的修改合并到当前master分支下时,如果master分支下的a文件也有修改的话,这时在进行merge也会产生冲突。(因为这个两个分支是不同步的,两个分支下的同一个文件都有修改)
2.同一个分支下的pull或push
比如在同一个分支下,对本地的a文件做出了修改,此时我们在进行pull或push时如果远程分支下下的a文件也有修改,那么代表本地和远程分支的代码是不同步的,此时也会引起冲突。

使用idea解决冲突的步骤
1.首先pull操作,如果有冲突会提示需要合并冲突,不过此时只能只能单向同步。(比如只能将远程的代码覆盖到本地)
2.以此执行add commit pull命令,此时就会显示双向同步的界面,此时解决完冲突并点击apply后,就会自动将远程的代码拉到本地,然后我们在重新push我们本地的代码到远程分支即可。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐