首页/开发/Git 与协作速查/git show 查看对象内容
Git 基础与命令88 条

git show 查看对象内容

查看单个对象:提交(默认包含补丁)、标签、树;--stat 只看摘要,-s 只看提交信息。

Git 与协作速查开发更新于 2026-10-13

git show 是什么

git show 用来查看单个对象的内容:给提交哈希就展示提交信息与补丁,给标签会展示标签对象和它指向的提交,给树对象会列出目录内容。不带参数时默认展示 HEAD 这一次提交,是查看单条提交细节最直接的命令。

输出由对象类型决定

同一个命令在不同对象上的输出差别很大:对提交默认附带补丁,加 -s 只看信息,加 --stat 只看改动规模;对标签会先显示标签元数据;对树对象则列出条目。理解「对象类型决定输出」之后,就不会对同一命令的不同表现感到困惑。

基本信息

适用平台Linux / macOS / Windows(Git 2.x)
语法git show [选项] <对象>,省略时默认 HEAD
对象类型提交 / 标签 / 树 / blob
常用参数--stat 摘要;-s 只看信息;--name-only 只列文件名
格式定制--format 的占位符与 git log 一致
典型用途查看单条提交、核对发布标签

典型使用场景

  • 展开提交:从 log 的简短输出定位后,看单条提交的完整改动
  • 核对标签:确认某个发布标签指向哪条提交、内容是什么
  • 取历史文件:git show <提交>:<路径> 直接输出该版本内容
  • 检查合并:用 --first-parent -m 分别查看相对各父提交的差异
  • 脚本取值:用 -s --format 提取单条提交的字段

常用示例

常用示例
git show                       # 查看 HEAD 这一次提交
git show --stat HEAD~1         # 只看上一条提交的改动摘要
git show -s --format='%H %an %ad %s' HEAD   # 只取提交信息字段
git show v2.1.0                # 查看标签及其指向的提交
git show HEAD~2:src/app.py     # 输出某个历史版本的文件内容
git show --first-parent -m <合并提交>   # 分别看相对各父提交的差异

常见输出与参数

命令输出内容适用场景
git show提交信息加完整补丁快速看清一条提交
git show --stat提交信息加文件摘要只关心改了哪些文件
git show -s只有提交信息需要提交元数据
git show <标签>标签元数据与指向的提交核对发布内容
git show <提交>:<路径>该版本的文件内容对比历史文件
git show <标签> 会同时展示标签对象与它指向的提交。核对发布内容时,这一步能确认标签到底打在哪条提交上。
合并提交默认显示 combined diff,只列出与所有父提交都不同的文件,容易让人误读成改动很少,需要结合两侧分别查看。

易错点

  • 合并提交默认显示 combined diff,只列与所有父提交都不同的文件,容易误读为改动少
  • 查看合并提交相对某一侧的差异要用 --first-parent 配合 -m,否则看到的不是完整改动
  • 把 git show <标签> 的输出整体当成提交内容,实际前面还有一段标签对象信息
  • 用 show 查看二进制文件只会得到摘要,需要逐行对比要用专门工具

数据来源与参考

  • Git 官方文档:git-show
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌