多人协作开发git merge合并功能出现冲突时解决思路

目录

问题背景描述

解决思路

解决详细步骤

经验适用场景


问题背景描述

现在有一个本地分支A,远端其中两个分支B、C,其中C为主分支,A和B目前版本是一致的,且都比较新,C的版本比较落后,现在需要从分支B合并到C。但是远程个人分支B向远程目标分支C进行merge时出现冲突。

解决思路

解决思路主要为:先将远端目标分支C向本地源分支A合并,合并时出现冲突,然后在本地文件中进行冲突解决。解决好后再向远端B推送,然后再次由B向C发起合并请求就没问题了。

解决详细步骤

1.先在本地git fetch,以便获得最新远端分支C的最新版本

2.然后在本地将最新远端分支C合并到本地分支A, git merge origin/C A

上面这条合并命令后,会出现提示信息,哪些文件合并顺利的,哪些出现了冲突

3.然后针对出现冲突的那些文件,在ide中查看,每个有冲突的部分大概像下面这样

bash 复制代码
<<<<<<< HEAD
你的改变
=======
他人的改变
>>>>>>> 分支名

4.你需要手动解决这些冲突:手动编辑这些区域,选择你想要保留的更改,并删除冲突标记符号(<<<<<<<, =======, >>>>>>>)。

5.保存文件:将解决冲突后的文件保存。保存可以用git status查看状态。

6.提交:执行git add将解决后的文件标记为已解决冲突,然后可以继续使用git commit来提交。

7.推送:将本地分支A推送到远程分支B,必要时强制推送

8.再次合并:将远程分支B合并到远程分支C

经验适用场景

多人协同开发时,比如每个人开发一个功能分支,开发完成后,每个人都会向主分支发起合并请求(merge request),对每个人的合并请求处理是有先后顺序的,合并第一个人的功能时可能不会出现冲突,但第二个人就就可能出现冲突,这时就需要对冲突给予解决,本文提供一定参考思路,实际工作时可能需要更加灵活处理。



end

相关推荐
萌狼蓝天12 分钟前
【NAS】绿联NAS+极狐Gitlab+1Panel
git
deja vu水中芭蕾5 小时前
git push origin HEAD:refs/for/分支名
git
海岛日记9 小时前
git常用操作
git
喝鸡汤9 小时前
一起学Git【番外篇:如何在Git中新建文件】
git
“αβ”9 小时前
Windows下使用git配置gitee远程仓库
git
谢家小布柔14 小时前
Git图形界面以及idea中集合Git使用
java·git
winner888116 小时前
git merge 冲突 解决 show case
java·git·git merge·git冲突
玩电脑的辣条哥20 小时前
怎么给git动图扣除背景?
git·抠图
谢家小布柔21 小时前
git中的多人协作
git
isolusion1 天前
git分支管理及策略
git