首页/开发/Git 与协作速查/git show :1:/:2:/:3: 读取冲突三版本
合并变基与冲突71 条

git show :1:/:2:/:3: 读取冲突三版本

冲突时索引保存三个版本::1: 共同祖先、:2: 当前分支、:3: 对方;用 git show 可分别查看,配合 diff 精确理解差异。

Git 与协作速查开发更新于 2026-10-12
读取方式git show :1:<文件> / :2:<文件> / :3:<文件>
含义1=base 2=ours 3=theirs
派生用法git diff :2:file :3:file 对比两方版本

常用示例

常用示例
git show :1:src/app.js > /tmp/app.base.js
git show :2:src/app.js > /tmp/app.ours.js
git show :3:src/app.js > /tmp/app.theirs.js
git diff --no-index /tmp/app.ours.js /tmp/app.theirs.js
想弄清「对方到底改了什么」时,先 diff base 与 theirs,比直接读冲突标记更快。

易错点

  • 冒号版本语法只能读索引/树对象,工作区文件请用普通路径
  • 冲突解决并 add 后阶段版本被覆盖,事后无法再从索引取回 base,必要时先导出留存

数据来源与参考

  • Git 官方文档:gitrevisions(:n:path 语法)
  • Pro Git 2nd Edition · 7.8 高级合并
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌