信任很多用git的程序员关于git抵触都很恐惧。当你项目立刻要上线,测验让你把主分支的代码合并一下,要做一个回归测验,然后你合并的时分,一堆抵触代码,直接让你头皮发麻。到底应该处理哪一个抵触,哪一段代码应该删去?哪一段代码不能删去呢?在你一通操作今后,发现居然出了bug,然后上线延期。。。

首要咱们来看看抵触时如何形成的

场景:假如有一个文件,你和另一个人同时修正某段代码的一部分,他把修正完的代码提交了今后,当你拉代码的时分,就会发现跟你的抵触了。

入图中所示:

Gitlab上手指南(六)|如何利用vscode工具快速的解决代码冲突

上图中,提示咱们READMD.me文件发生了抵触,需求咱们手动处理,然后履行git add <抵触文件名> git rebase --continue即可。

那么出了这个问题应该如何处理呢?

咱们凭借vscode提示东西,可以看到

Gitlab上手指南(六)|如何利用vscode工具快速的解决代码冲突

这里有四个选项

  • Accept Current Chagne 选择当时的修正
  • Accept Incoming Change 选择合并的修正
  • Accept Both Change 承受两者
  • Compare Chagne比较查看

这是只需求你自己查看一下你需求保留代码的哪一部分,然后选择不同的选项即可处理结束这个抵触。不过在这之前,最好是找修正这个代码的人确认一下,他这个代码没有没有用,然后再决断需求留仍是不留。

然后履行一下git add . && git rebase --continue,发现出现了下面的一幕:

Gitlab上手指南(六)|如何利用vscode工具快速的解决代码冲突

彻底不要紧张,这个是让你填写一个commit信息,默许会本地最终一次commit信息。那么这个如何去修正呢?

其实这个是vim的操作形式,只需求履行下面几行命令即可搞定:

# 按i进入修正形式
i
# 修正好commit信息
# 按esc退出修正形式
esc
# 最终运用:wq保存并退出vim形式
:wq

到此为止,一个完整的抵触处理结束。

假如你对vim命令实在是太陌生,不要慌,你修正完代码中的抵触部分今后,你可以在左边的可视化东西栏里进行commit操作,作用和vim操作是相同的。

最终,谨记一点,当你修正抵触代码的时分,一定要看看这段抵触代码是谁形成的,抵触代码是不是线上代码?假如是线上代码千万不要删去,不然等你的代码一上线,bug直接让你奔溃。所以一定要跟相关的负责人去交流一下。