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

如何通过Git提交对应的Unix时间戳查询该提交的哈希值

精准匹配Unix时间戳对应Git提交哈希的原生方案

你生成版本号用的%ct是Git提交者日期的秒级Unix时间戳,Git原生支持直接匹配对应提交,不需要额外借助外部工具搜索,两种可靠实现方式如下:

  • 方法1:时间范围锁定(无匹配误差,最推荐)
    用--since和--until精准框定1秒的时间范围,刚好命中目标提交:
    git log --all --since=<目标时间戳> --until=<目标时间戳+1> --pretty=format:"%H"
    
    把命令里的占位符替换为实际数值即可:
    • 加--all是为了匹配全部分支的提交,避免目标提交不在当前检出分支的情况
    • --pretty=format:"%H"会直接输出完整提交哈希,不需要额外过滤冗余内容
    • 需要校验提交信息的话,可以把格式字符串改成"%H %an %s",会同步输出提交者、提交说明
  • 方法2:元字段直接匹配
    直接提取所有提交的时间戳和哈希字段,做精准匹配:
    git rev-list --all --timestamp | awk '$1 == "<目标时间戳>" {print $2}'
    
    这个命令直接用Git内置的rev-list命令输出所有提交的时间戳、哈希,匹配逻辑完全基于提交元数据,不会出现日志内容干扰匹配的问题。

补充说明:如果你生成版本号用的是作者时间戳%at而非提交者时间戳,把对应格式参数替换为%at即可适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:39:02