You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地新分支push到远端后合并master分支报合并冲突如何解决

合并冲突原因
  • 合并冲突和master是否为最新版本没有直接关联,核心触发条件是两个待合并分支存在互斥的同位置改动
  • 你基于旧版master创建new_branch并做了两次提交的周期内,远端master有其他用户提交了更新,且这些更新和你的new_branch改动触及了同一文件的相同/相邻代码行,或是你修改了某文件、其他提交删除了该文件
  • 即便你后续拉取了最新的master分支,Git没有自动决策规则判断该保留哪一方的改动,就会触发合并冲突
冲突解决步骤

本地操作解决(更推荐)

  1. 切换到本地master分支,拉取最新代码,确保和远端一致:
    git checkout master && git pull origin master
  2. 切换回你的new_branch分支,执行变基或者合并操作,把最新master的改动合入当前分支:
    git checkout new_branch

推荐用变基保持提交树整洁,命令为:git rebase master;如果习惯用合并,命令为:git merge master

  1. 执行命令后Git会提示存在冲突的文件,打开这些冲突文件,冲突内容会用如下格式标记:
<<<<<<< HEAD
// 当前分支的改动内容
=======
// master分支的改动内容
>>>>>>> master
  1. 和相关开发人员确认要保留的内容,删掉冲突标记(<<<<<<<、=======、>>>>>>>这三行),修改为最终需要的代码
  2. 所有冲突文件修改完成后,标记冲突已解决:

如果用的是变基操作,执行:git add 冲突文件名,然后执行git rebase --continue,直到所有变基步骤完成
如果用的是合并操作,执行:git add 冲突文件名,然后执行git commit完成合并提交

  1. 把解决完冲突的new_branch分支推送到远端(变基后必须加-f参数,合并的话不需要):
    git push origin new_branch -f
  2. 此时再发起合并到master的请求,就不会再有冲突了

远端仓库页面直接解决

如果用的是GitHub/GitLab/Gitee这类平台,合并请求页面会有「解决冲突」的按钮,点击后在弹出的编辑器里按同样逻辑删掉冲突标记、保留最终代码,提交后即可自动完成冲突解决。

内容的提问来源于stack exchange,提问作者Arslan_senki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:06:06