上一篇解决冲突的文章只是介绍了,解决冲突后的操作,没有介绍冲突的来源,以及怎样解决,这一篇将着重这些内容的内容
- 当两个人同时修改了同一个的文件的同一行时,会发生冲突,所以一般会在我们pull代码,活着merge代码时产生冲突
- 冲突只会影响我们本地的代码,不会影响远端服务器,也就影响不到团队其他成员
3.如果是merge其他分支,到当前分支产生的冲突,可以撤销merge操作,回到初始状态,合并操作就会被撤销
git merge --abort
4. 还是merge时发生的冲突,如果我们解决完冲突,在合并完成后发现一个错误,仍然可以简单的撤销它
git reset --hard
==================
git怎样标记冲突
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
<<<<<<<到=======是在当前分支合并之前的文件内容
=======到>>>>>>> branch-b是在其它分支下修改的内容 需要在这个两个版本中选择一个作为最终正确的修改内容,然后把标记符号也要一起删除
我们一定要在两个版本中选择一个删除,记得把符号也一起,并不是只删掉一点就可以,需要删掉好多。我经常不会选择删掉某个分支的整体改动,而导致修改冲突错误,带着====分支名的代码,提交到了版本库,影响了代码的正常工作。
我们还可以通过一个比较简单的编辑器,来查看哪些代码是可行,具体每个人都改了哪些内容。这个简单的编辑器,需要大家自行去网上搜索下了。可以使用
git mergetool
调用这个工具