点击查看【bilibili】
    相信很多用git的程序员对于git冲突都很恐惧。当你项目马上要上线,测试让你把主分支的代码合并一下,要做一个回归测试,然后你合并的时候,一堆冲突代码,直接让你头皮发麻。到底应该处理哪一个冲突,哪一段代码应该删除?哪一段代码不能删除呢?在你一通操作以后,发现竟然出了bug,然后上线延期。。。

    首先我们来看看冲突时如何造成的
    场景:如果有一个文件,你和另一个人同时修改某段代码的一部分,他把修改完的代码提交了以后,当你拉代码的时候,就会发现跟你的冲突了。
    入图中所示:
    image.png
    上图中,提示我们READMD.me文件发生了冲突,需要我们手动解决,然后执行git add <冲突文件名> git rebase --continue即可。
    那么出了这个问题应该如何解决呢?
    我们借助vscode提示工具,可以看到
    image.png
    这里有四个选项

    • Accept Current Chagne 选择当前的修改
    • Accept Incoming Change 选择合并的修改
    • Accept Both Change 接受两者
    • Compare Chagne比较查看

    这是只需要你自己查看一下你需要保留代码的哪一部分,然后选择不同的选项即可处理完毕这个冲突。不过在这之前,最好是找修改这个代码的人确认一下,他这个代码没有没有用,然后再决断需要留还是不留。
    然后执行一下git add . && git rebase --continue,发现出现了下面的一幕:
    image.png
    完全不要慌张,这个是让你填写一个commit信息,默认会本地最后一次commit信息。那么这个如何去编辑呢?
    其实这个是vim的操作模式,只需要执行下面几行命令即可搞定:

    1. # 按i进入编辑模式
    2. i
    3. # 修改好commit信息
    4. # 按esc退出编辑模式
    5. esc
    6. # 最后使用:wq保存并退出vim模式
    7. :wq

    到此为止,一个完整的冲突解决完毕。