Git代码合并过程中解决代码冲突问题
场景
将功能分支 feature-login 合并到 master 分支
步骤
1. 切换到master分支
git checkout master
2. 将feature-login分支合并到master
git merge feature-login
3. 解决冲突
3.1 冲突符号介绍
git在merge的时候处理冲突的方法就是它把两边的冲突都保留了下来。
用>>>>>>和=======以及<<<<<<<<这样的符号进行分隔,我们简单介绍一下其中的含义。
<<<<<<<< HEAD后面跟着的内容是HEAD指针指向的节点的代码,也就是我们当前所处的分支master分支当中冲突的代码,这些代码的内容一直到=======结束。
从=======开始一直到最后>>>>>>> feature-login是我们合并进来的分支的代码。
3.2 手动解决
手动合并的方法很简单,就是我们选择我们要保留的代码,然后再把>>>>>, ======, <<<<<<这些提示行给去掉。最后重新git add 和 git commit。
3.3 vscode git插件解决
vscode当中的git插件不仅会用不同的颜色高亮不同分支的代码,而且为我们提供了几个非常好用的代码合并功能,分别是:
Accept Current Change 保留当前分支的代码
Accept Incoming Change 保留合并分支的代码
Accept Both Change 保留两者
Compare Change 对比改动
根据自己需要,点击这四个按钮中的一个就行。
4. 加入暂存区
解决完冲突后,将代码保存到暂存区
git add .
5. 提交
git commit - m "merge branch feature-login into master"
6. 推送到远程
git push origin master