一.报错信息
有文件冲突的话,会报错:
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. //自动合并失败;修复冲突,然后提交结果
二、解决方法一(借助vsocde)
用了git,由于不同的需求可能开了不一样的分支,而不同的分支里,改了同一个文件,那么合并代码的时候,就会有一个问题?到底该采用哪个分支的代码为准呢?
可以看到,没有冲突的文件被放进了暂存栏目下,而合并栏目下,是存在冲突代码的文件。
出现冲突的文件会包含一些特殊区段,看起来像下面这个样子:
<<<<<<< HEAD
<div id="footer">
let name = '111'
</div>
=======
<div id="footer">
let name = '222'
</div>
>>>>>>> pre-master
其中,=======上面是当前分支(也就是master)的代码,=======下面是要合并进来的分支的代码,两者发生了冲突。
其中,=======上面是当前分支(也就是master)的代码,=======下面是要合并进来的分支的代码,两者发生了冲突。
上面代码可以看出新改动的是let name = ‘222’ 只需要点击 采用传入的更改 就行;他有几个选择,采用当前更改,采用传入的更改和都采用。也可以选择比较不同。
三、解决方案二(手动删除冲突)
左侧工具栏会出现冲突文件个数,然后点击冲突文件手动进行修改冲突。
分析两段的代码是实现相同功能而写的重复的代码还是各自实现的不同的功能的代码。
如果是重复代码:两个二选一删除一个,然后再把这些冲突标示符删除即可;
如果不是重复代码,两个都需要保留,只把冲突符号删除即可。
两种方法 冲突解决后都需要再重复一遍流程
git add -A //添加暂存区
git commit -m 'xxxx说明' //commit说明
git push //push推到远程
资料
gitee官方说明如何处理代码冲突 有视频
vscode中如何解决git冲突?
vscode 中的git的提交、合并、解决冲突