ENGINEERING PLAYBOOK

Git 合并冲突处理流程

冲突表示 Git 不能自动决定结果,不等于任一方代码错误。处理前先冻结工作区并理解两侧提交意图,再逐文件编辑和验证。

适用人群:需要保留双方意图并验证合并结果的代码维护人员

排查路径

  1. 确认当前分支、目标分支与工作区状态。
  2. 查看冲突文件和三方差异。
  3. 逐块决定保留、合并或重写。
  4. 运行测试后标记已解决并完成合并。

执行步骤

  1. 执行 git status 记录冲突清单。
  2. 使用 git diff --ours 与 --theirs 理解两侧。
  3. 删除全部冲突标记并保持语法有效。
  4. 只 git add 已核对的文件。
  5. 运行相关测试和完整回归再提交。

可复制命令与示例

查看冲突状态

git status --short && git diff --name-only --diff-filter=U

中止尚未确认的合并

git merge --abort

可复现任务记录

具体错误或任务

两个分支修改同一区域产生 content conflict,需区分语法合并与业务行为验证。

失败信号:git status 显示 unmerged paths,文件含冲突标记,测试尚未覆盖双方改动。

最小输入

冲突文件、base/ours/theirs 三方差异、相关测试和预期业务行为。

验证命令或步骤

git diff --name-only --diff-filter=U

预期输出

解决并暂存后命令无输出,git diff --check 无冲突标记或空白错误。

失败输出

仍列出文件,或误选一侧导致另一分支的必要行为消失。

成功判据

未合并文件为 0,相关测试通过,合并提交说明保留了哪些双方意图。

本任务常见错误

  • 直接选择 ours 或 theirs
  • 只删除冲突标记不跑测试
  • 未查看共同基线导致重复代码

资料与适用边界

三方合并、状态与差异命令依据 Git 官方文档;业务正确性由仓库测试和评审结论验证。

证据块复核日期:2026-09-04

相关站内页面

资料依据与复核边界

资料复核日期:2026-08-29