vscode 中git解决冲突,合并代码的两种方法

一. 背景:

今天在把pre-master分支代码合并到master分支时候,出现了代码冲突,当时在没有先解决冲突的情况下,稀里糊涂点击了vscode工具栏左侧的 暂存,现在记录一下。

下图是稀里糊涂暂存的然后 push 到了master分支上,提交git;导致保留了两份代码,这肯定是不行的,我实际想保留的是下面新合并来的代码。

在这里插入图片描述

二. 报错信息:

有文件冲突的话,会报错:

 git merge pre-master   //合并 pre-master 分支到 master 主分支
 CONFLICT (content): Merge conflict in utils/config.js   //冲突内容;在until/config.js中合并冲突
 Automatic merge failed; fix conflicts and then commit the result.  //自动合并失败;修复冲突,然后提交结果

三. 解决方法一(借助vscode):

用了git,由于不同的需求可能开了不一样的分支,而不同的分支里,改了同一个文件,那么合并代码的时候,就会有一个问题?到底该采用哪个分支的代码为准呢?
在这里插入图片描述
可以看到,没有冲突的文件被放进了暂存栏目下,而合并栏目下,是存在冲突代码的文件。
在这里插入图片描述
出现冲突的文件会包含一些特殊区段,看起来像下面这个样子:

<<<<<<< HEAD
<div id="footer">
let name = '111'
</div>
=======
<div id="footer">
let name = '222'
</div>
>>>>>>> pre-master

其中,=======上面是当前分支(也就是master)的代码,=======下面是要合并进来的分支的代码,两者发生了冲突。

上面代码可以看出新改动的是let name = ‘222’ 只需要点击 采用传入的更改 就行;他有几个选择,采用当前更改,采用传入的更改和都采用。也可以选择比较不同。

解决方法二(手动删除冲突):

左侧工具栏会出现冲突文件个数,然后点击冲突文件手动进行修改冲突。
在这里插入图片描述

分析两段的代码是实现相同功能而写的重复的代码还是各自实现的不同的功能的代码。
如果是重复代码:两个二选一删除一个,然后再把这些冲突标示符删除即可;
如果不是重复代码,两个都需要保留,只把冲突符号删除即可。

两种方法 冲突解决后都需要再重复一遍流程

git add -A    //添加暂存区
git commit -m 'xxxx说明'   //commit说明
git push   //push推到远程

即可完成一次冲突的合并。

在解决问题过程中也去百度了不少文章,记录一下吧
gitee官方说明如何处理代码冲突 有视频
vscode中如何解决git冲突?
vscode 中的git的提交、合并、解决冲突 包含vscode暂存,提交文件说明快捷方式

  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁锤妹妹@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值