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

如何通过GitHub API获取指定commit ID对应版本的仓库全量文件列表

GitHub API查询指定commit版本全量文件列表方法

你当前使用的/repos/{owner}/{repo}/git/trees/{tree_sha}接口本身就支持将路径中的分支名替换为commit SHA,直接获取对应提交版本的全量文件树,返回格式和你现有master分支查询结果完全一致。

具体调用方式

将你现有接口URL中trees后的master替换为目标commit的SHA值即可,保留recursive=1参数实现全目录递归获取。
针对你给出的示例commit(SHA:4916b6cd7486e2e0dd6ce5417ae4e6842356954a),对应的调用URL为:
https://api.github.com/repos/kubernetes/kubernetes/git/trees/4916b6cd7486e2e0dd6ce5417ae4e6842356954a?recursive=1

注意事项

  • 该接口单次递归请求最多返回10万个文件、总响应大小不超过7MB,若仓库过大超出限制,返回结果中会携带truncated: true标记,此时你可以先查询顶级目录树,再逐个发起子目录的树查询请求拆分获取
  • 未认证状态下GitHub API请求限速为每小时60次,若请求频次较高,建议在请求头中携带个人访问令牌(PAT),可将限速提升至每小时5000次
  • 你也可以通过先查commit详情再查树的方式获取相同结果,步骤如下:
    1. 调用https://api.github.com/repos/kubernetes/kubernetes/git/commits/目标commit SHA获取commit详情
    2. 从返回结果的tree.sha字段提取该commit对应的根目录树SHA,再用该SHA调用树查询接口即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:48:03