github api:如何有效地查找存储库的提交数量?

dro*_*orw 16 github github-api

我想找到对特定github项目执行的提交数,并在其中查找特定文件.我检查了github api文档,但只发现了一个实际返回所有提交的API.这将是非常低效的,因为我必须通过所有提交进行多个api调用以进行分页.

谁有更好的主意?

Von*_*onC 12

2013年5月更新:请参阅" API中现在提供的文件CRUD和存储库统计信息 "

您现在可以获取最后一年的提交活动数据

GET /repos/:owner/:repo/stats/commit_activity
Run Code Online (Sandbox Code Playgroud)

返回按周分组的提交活动的最后一年.days数组是每天提交的一组提交,从星期日开始.

完全是你想要的,但更接近.


原始答案(2010年4月)

不,当前的API不支持log --all列出所有分支机构的所有提交的' '.

唯一的替代方案是在" Github API:检索所有分支的所有提交以获取存储库 "中,并列出所有提交的所有页面,分支后分支.

这看起来比另一个替代方案实际上克隆 Github repo并在该本地克隆上应用git命令非常麻烦!
(主要git shortlog)


注意:您还可以签出Arcsector创建的python脚本.

  • @drorw如果您有关于API的具体建议或功能请求,您应该通过电子邮件发送GitHub支持并告知他们:https://github.com/contact (2认同)

Ber*_*tel 5

使用GraphQL API v4,您可以获得每个分支的总提交计数totalCount

{
  repository(owner: "google", name: "gson") {
    name
    refs(first: 100, refPrefix: "refs/heads/") {
      edges {
        node {
          name
          target {
            ... on Commit {
              id
              history(first: 0) {
                totalCount
              }
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在资源管理器中测试一下