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

master分支被回退后如何合并特性分支,保留主分支未被修改的代码内容

操作方案

方法1:合并时手动解决冲突(适用绝大多数场景)

  • 先切换到本地master分支,同步远程最新内容
git checkout master
git pull origin master
  • 执行BR1分支合并命令,此时会触发a.js文件的冲突提示
git merge BR1
  • 打开冲突的a.js文件,Git会自动用<<<<<<< ======= >>>>>>>标记不同分支的内容:
    • <<<<<<< HEAD到=======之间是master分支的内容(第一行是Hello Dog)
    • =======到>>>>>>> BR1之间是BR1分支的内容(第一行是Hello Duck+第二行新增代码)
  • 手动编辑文件,保留master的第一行内容,保留BR1新增的第二行内容,删除所有Git冲突标记,保存文件即可得到你需要的最终效果。
  • 标记冲突已解决,提交合并结果
git add a.js
git commit
  • 推送到远程master即可
git push origin master

方法2:先变基再合并(适合保持提交记录线性干净)

如果你不需要保留合并提交记录,可以先把BR1的修改迁移到最新master的基础上,再执行快进合并:

  • 切换到BR1分支
git checkout BR1
  • 以最新master为基准执行变基操作,同样会触发a.js冲突
git rebase master
  • 按照方法1的规则修改冲突内容后,标记冲突已解决,继续变基流程
git add a.js
git rebase --continue
  • 变基完成后切换回master,执行快进合并即可
git checkout master
git merge BR1
git push origin master

注意:不要直接使用-X ours/-X theirs这类合并策略参数自动解决冲突:-X ours会直接采用master的全部内容,丢弃你在BR1新增的第二行代码;-X theirs会直接采用BR1的全部内容,覆盖master第一行的Hello Dog,均不符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:54:06