如何获取GitHub超90天旧提交的作者(非提交者)并证明关联邮箱?
解决GitHub旧提交作者信息查询问题(超过90天)
好问题!GitHub Events API确实有90天的查询限制,但要获取超过90天的旧提交作者信息,还有几个靠谱的办法:
1. 本地克隆仓库查看完整提交元数据
这是最直接的方式,因为本地Git仓库会保存所有历史提交的完整信息,完全不受GitHub API的时间限制:
- 先把目标仓库克隆到本地:
git clone <仓库URL> - 如果你知道目标提交的哈希值,直接用这条命令查看作者的名字和邮箱:
git log --pretty=format:"作者:%an,邮箱:%ae" <commit-hash> - 要是想区分作者和提交者的完整信息,用这条命令看更详细的提交元数据:
输出里的git show --pretty=full <commit-hash>Author字段就是你要找的作者信息,Committer则是提交者信息,别搞混了。
2. 使用GitHub REST API的Commits端点
GitHub的Commits API端点没有90天时间限制,能直接获取任意历史提交的详细信息:
- 调用
GET /repos/{owner}/{repo}/commits/{commit-sha}接口(把owner、repo和commit-sha替换成实际值) - 返回的JSON响应里,
author对象下的name和email就是该提交的作者信息,和提交者(committer字段)是完全分开的。
3. 网页端直接查看提交详情
如果你有仓库访问权限(公开仓库无需权限),可以直接在GitHub网页上找:
- 通过仓库的Commits列表,搜索提交哈希或提交描述定位到目标提交页面
- 滚动到页面底部的Commit metadata区域,这里会显示作者的名字和邮箱(只要仓库没有隐藏邮箱设置就能看到)。
额外提示
- 如果作者邮箱是GitHub的noreply格式(比如
xxx@users.noreply.github.com),你可以在自己的GitHub账号设置里关联这个邮箱,以此证明归属。 - 如果需要官方层面的证明(比如账号归属验证),可以联系GitHub支持团队,提交提交哈希、邮箱信息等相关材料进行验证。
内容的提问来源于stack exchange,提问作者ADR8DA
相关产品推荐
相关产品推荐

