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

如何查询GitHub远程仓库中提交的推送时间?

获取GitHub远程仓库中提交的推送时间

好问题!确实,Git本身并没有直接存储提交的推送时间——因为推送是本地仓库与远程仓库交互的操作,本地Git仓库不会记录这个跨端操作的时间戳。不过针对GitHub的场景,我们有几个可靠的方案来获取这个信息:

方法1:通过GitHub API查询Push事件

每次向GitHub推送代码时,平台都会生成一条PushEvent事件记录,其中包含了本次推送的所有提交SHA,以及事件创建的时间(也就是推送时间)。你可以通过API筛选出包含目标提交的PushEvent,从而得到推送时间:

  1. 调用仓库的事件列表接口:
curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/{OWNER}/{REPO}/events
  1. 用工具(比如jq)筛选出type为PushEvent的事件,并检查其中的payload.commits数组是否包含你要查询的提交SHA,对应的created_at字段就是该提交的推送时间。

举个具体的筛选命令(替换TARGET_SHA为你的提交SHA):

curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/{OWNER}/{REPO}/events | jq --arg SHA "TARGET_SHA" '.[] | select(.type == "PushEvent") | select(.payload.commits[]?.sha == $SHA) | .created_at'

方法2:通过GitHub网页端直接查看

如果你只需要查询单个提交的推送时间,直接访问仓库的提交页面更简单:

  • 进入GitHub仓库的「Commits」页面,找到目标提交
  • 在提交信息的下方,会显示类似「Pushed by [用户名] on [YYYY-MM-DD HH:MM]」的字样,这个时间就是该提交被推送到远程的时间

方法3:利用GitHub审计日志(限企业/组织仓库)

如果你的仓库属于GitHub企业版或者组织账户,且你有对应的权限,可以在组织的审计日志中搜索目标提交的推送记录,从中获取准确的推送时间。这个方法适合需要追溯更详细操作记录的场景。

为什么之前的本地方法不适用?

你提到的那些本地Git方法(比如查看reflog、本地推送记录),本质上是记录本地机器上的操作历史,而克隆的仓库不会包含原推送者的本地操作日志,所以这些方法无法获取到目标推送时间。

内容的提问来源于stack exchange,提问作者Taher A. Ghaleb

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:17:48