首页/开发/Git 与协作速查/冲突期间的 diff 用法
合并变基与冲突71 条

冲突期间的 diff 用法

冲突暂停时 git diff 的语义与平时不同:默认显示组合差异;--ours/--theirs 比较工作区与某一侧,-1/-2/-3? 走索引阶段对比。

Git 与协作速查开发更新于 2026-10-12
组合差异git diff 显示含冲突标记的区块
单侧对比git diff --ours / git diff --theirs
索引对比git diff :2:file :3:file 比较两方版本

常用示例

常用示例
git diff
git diff --ours -- src/app.js
git diff --theirs -- src/app.js
git diff :2:src/app.js :3:src/app.js
组合差异在暂存前显示,git add 之后该文件从 git diff 输出中消失,改用 git diff --cached 查看已解决内容。

易错点

  • 组合差异格式与普通 diff 不同(多列 +/− 标记),脚本解析时要区分场景
  • add 之后默认 diff 看不到改动容易误判「丢失」,实际在暂存区,用 --cached 查看

数据来源与参考

  • Git 官方文档:git-diff(--ours/--theirs、combined diff)
  • Pro Git 2nd Edition · 7.8 高级合并
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌