信任很多用git的程序员关于git抵触都很恐惧。当你项目立刻要上线,测验让你把主分支的代码合并一下,要做一个回归测验,然后你合并的时分,一堆抵触代码,直接让你头皮发麻。到底应该处理哪一个抵触,哪一段代码应该删去?哪一段代码不能删去呢?在你一通操作今后,发现居然出了bug,然后上线延期。。。
首要咱们来看看抵触时如何形成的
场景:假如有一个文件,你和另一个人同时修正某段代码的一部分,他把修正完的代码提交了今后,当你拉代码的时分,就会发现跟你的抵触了。
入图中所示:
上图中,提示咱们READMD.me
文件发生了抵触,需求咱们手动处理,然后履行git add <抵触文件名>
git rebase --continue
即可。
那么出了这个问题应该如何处理呢?
咱们凭借vscode提示东西,可以看到
这里有四个选项
-
Accept Current Chagne
选择当时的修正 -
Accept Incoming Change
选择合并的修正 -
Accept Both Change
承受两者 -
Compare Chagne
比较查看
这是只需求你自己查看一下你需求保留代码的哪一部分,然后选择不同的选项即可处理结束这个抵触。不过在这之前,最好是找修正这个代码的人确认一下,他这个代码没有没有用,然后再决断需求留仍是不留。
然后履行一下git add . && git rebase --continue
,发现出现了下面的一幕:
彻底不要紧张,这个是让你填写一个commit信息,默许会本地最终一次commit信息。那么这个如何去修正呢?
其实这个是vim的操作形式,只需求履行下面几行命令即可搞定:
# 按i进入修正形式
i
# 修正好commit信息
# 按esc退出修正形式
esc
# 最终运用:wq保存并退出vim形式
:wq
到此为止,一个完整的抵触处理结束。
假如你对vim命令实在是太陌生,不要慌,你修正完代码中的抵触部分今后,你可以在左边的可视化东西栏里进行commit操作,作用和vim操作是相同的。
最终,谨记一点,当你修正抵触代码的时分,一定要看看这段抵触代码是谁形成的,抵触代码是不是线上代码?假如是线上代码千万不要删去,不然等你的代码一上线,bug直接让你奔溃。所以一定要跟相关的负责人去交流一下。