You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询Git仓库中特定文件历次提交对应的全部SHA1哈希值

获取Git仓库指定文件所有历史版本SHA1哈希的方法

以下命令均可直接在Windows命令提示符中运行:

方法1:输出包含提交信息+文件哈希(可读性更高)

命令如下,将其中的<你的文件路径>替换为目标文件的相对路径即可:

git log --follow --pretty=format:"%H %ci %s" -- <你的文件路径> | for /f "tokens=1,*" %a in ('more') do @echo %a %b & git show %a:"<你的文件路径>" | git hash-object --stdin

输出字段依次为:提交哈希、提交时间、提交说明、对应版本文件的SHA1哈希,和你使用git hash-object得到的结果完全一致。

方法2:仅输出纯文件SHA1哈希列表

如果不需要关联提交信息,可使用精简命令:

git log --follow --pretty=format:"%H" -- <你的文件路径> | for /f %a in ('more') do @git show %a:"<你的文件路径>" | git hash-object --stdin

方法3:高性能查询(无需重新计算哈希,适合大文件/多提交场景)

直接读取Git提交记录中存储的文件Blob哈希,运行速度更快:

git log --follow --raw --abbrev=40 --pretty=format:"" -- <你的文件路径> | findstr /r /c:"^:[0-7]* [0-7]* [0-9a-f]* [0-9a-f]* M" | for /f "tokens=4" %a in ('more') do @echo %a

注意事项

  • 运行命令前请先切换到Git仓库的任意工作目录下,文件路径填写对应当前目录的相对路径即可
  • 如需将命令写入.bat批处理文件运行,请将命令中的%a替换为%%a,避免批处理变量识别错误
  • 命令中的--follow参数支持追踪文件重命名历史,即使目标文件历史上改过名称也能获取全量历史哈希

内容的提问来源于stack exchange,提问作者uncletonton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:00:01