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

Git合并冲突保留双方变更方法及多PR同文件修改场景处理问询

相关问题解答

两个互相依赖的PR合并优先级建议

优先将PR1的变更提前同步到PR2分支,不需要等待PR1合入master。
两个PR存在互相依赖关系,提前同步后可以保证PR2代码可正常编译,CI校验可以正常通过,不会阻塞PR2的评审流程。仅需额外注意:需要确认PR1的代码已经基本通过评审、不会出现大范围改动,避免后续PR1变更后你需要重复调整PR2的代码。如果PR1还未进入评审阶段、改动风险较高,也可以先在PR2中标记依赖PR1,等待PR1合入master后再做同步,可根据团队协作规范灵活选择。

PR1已合入master后同步变更到PR2的操作方法

常用两种操作方式,可根据分支特性选择:

  • 合并操作(适合多人协作的公共PR2分支,不会修改原有提交历史)
    1. 切换到本地PR2分支:git checkout pr2
    2. 拉取远程最新的master分支代码:git fetch origin && git pull origin master
    3. 若出现合并冲突,解决冲突后执行git add .,再执行git commit提交合并结果,最后推送到远程PR2分支即可:git push origin pr2
  • 变基操作(适合个人维护的PR2分支,可以保持提交历史线性干净)
    1. 切换到本地PR2分支:git checkout pr2
    2. 拉取远程最新master代码:git fetch origin
    3. 执行变基操作:git rebase origin/master
    4. 解决冲突后执行git add .,再执行git rebase --continue,直到所有变基步骤完成,最后强制推送到远程PR2分支即可:git push -f origin pr2

合并冲突时保留双方所有更改的操作方法

Git出现合并冲突时,会在冲突文件中用特殊标记区分两个分支的内容:

<<<<<<< HEAD
// 当前分支的代码内容
=======
// 待合并分支的代码内容
>>>>>>> 待合并分支名

要保留双方所有更改可以用两种方式实现:

  • 手动处理:直接删除<<<<<<<、=======、>>>>>>>三个标记行,两部分代码全部保留即可。针对你的场景可自行调整顺序,把PR1新增的5行放在前面,PR2新增的6行放在后面,即可保证双方的新增代码都不会丢失。
  • 自动处理:合并时指定union合并策略,Git会自动保留双方的所有更改,无需手动修改标记:
    命令为:git merge -X union 待合并分支名
    自动处理完成后建议手动检查代码顺序、验证编译逻辑,避免自动合并的顺序不符合业务要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:42:00