git的冲突解决

现在,存在两个分支dev和MXJ,MXJ分支是合并自dev分支的,相当于目前是同一个版本,所以MXJ分支的内容和dev分支的完全一样,此时如果修改了MXJ分支,再把MXJ分支合并到dev分支,那么MXJ做的修改便会合并到dev分支上。
但如果MXJ分支被修改了,而dev分支也被修改了,(一般不要再dev分支上修改,而在自己的分支上修改,然后合并到dev分支,再把dev分支push到远端),恰好修改的又是同一部分内容,此时提交后,再合并到dev分支就会发生冲突,发生冲突后就必须先解决冲突再合并,
下图为此时MXJ分支中test.txt中修改后的内容。
git_101
点击Commit提交,
下图为dev分支修改后的内容
git_102
此时,如果我们做完了工作,想把我们自己分支的修改合并到dev分支,就会发生冲突,因为dev分支在相同的地方也做了修改,这样git就不知道该保留谁的修改。
下图为合并时产生了冲突,
git_103

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存:
上图表示,当前分支修改为abcde,而要合并到当前分支的修改为123456

我们需要决定要合并到当前分支的内容是自己分支修改的内容还是dev分支修改的内容。
git_104

最终我们决定修改为abcde123,现在不能直接提交,而要先把文件放到暂存区,点击Add to index,如下图,再提交就会完成合并,冲突处理完,并完成合并后,就可以将dev分支push到远端。

git_105