首页/开发/Git 与协作速查/git show 查看某版本文件内容
Git 基础与命令88 条

git show 查看某版本文件内容

git show <rev>:<path> 直接输出指定提交中的文件内容,不需要切换分支;可重定向导出后与当前版本比对。

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

git show rev:path 是什么

git show <版本>:<路径> 直接输出指定提交里某个文件的内容,不需要切换分支或检出工作区。它是核对「某个版本当时这个文件长什么样」的最快方式:可重定向到临时文件与当前版本对比,也可以用两个版本的形式直接比较差异。路径按仓库根目录解析,与当前所在子目录无关,这一点在多层目录里尤其要注意。

基本信息

语法git show <版本>:<路径>
路径基准相对仓库根目录
变体git diff rev1:path rev2:path 直接比较两版本
常用场景核对历史文件内容、导出旧版本
平台任意 Git 客户端

典型使用场景

  • 核对某个标签下配置文件当时的内容
  • 导出旧版本的依赖清单,与当前版本对比
  • 排查线上问题时确认某个版本的行为定义
  • 评审时查看分支上该文件的最终形态
  • 对比两次发布之间某文件的差异
  • 找回被误删文件在被删前的最后内容

常用示例

常用示例
git show HEAD:src/config.yml              # 查看当前提交里的文件
git show v1.2.0:package.json > /tmp/old-package.json
git diff main:file.txt feature:file.txt   # 直接比较两个版本
git show HEAD:src/app.py | head -30        # 只看开头部分

相关写法

写法作用
show <版本>:<路径>输出该版本中文件内容
show <版本>输出该提交的改动与信息
diff A:path B:path比较两版本中的同一文件
核对「某版本当时这个文件是什么样」时一条命令即可,无需检出,也不会影响当前工作区的状态。
路径按仓库根解析,若在子目录里操作要写全相对根目录的路径;Windows 上路径建议用正斜杠,避免盘符冒号与版本号冒号混淆。
想批量导出旧版本的文件树时,可以配合 git archive 指定版本与路径打包,比逐个 show 更省事,适合做发布快照。

易错点

  • 路径按仓库根解析而不是当前目录,在子目录里直接写相对路径常常找不到文件
  • Windows 盘符里的冒号与版本路径的冒号容易混淆,路径统一用正斜杠可以少一半问题
  • 把 show rev:path 与 show rev -- path 写混,后者输出的是该文件的改动而非完整内容
  • 把输出重定向到同名文件会覆盖工作区内容,先确认目标路径再执行
  • 在浅克隆里查较早版本的文件可能因历史缺失而失败,追溯前先确认克隆深度

数据来源与参考

  • Git 官方文档:git-show(rev:path 语法)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌