如何找到过去100个最大的GitHub存储库?

his*_*eim 9 git open-source github

我试图了解GitHub上100个最大的存储库的演变.我可以使用GitHub搜索功能或GithubArchive.org轻松访问截至今天的100个最大的存储库(按贡献者,星号,叉子或LOC的总数来衡量).

但是,我想看一下历史上给定数据的100个最大的存储库(比如2011年4月1日),这样我就可以跟踪它们从那时起的增长(或下降).如何识别GitHub上的100个最大的存储库(按星号,叉子或LOC测量),以确定过去的日期?

Iva*_*zak 10

我认为GitHub存档项目可以提供帮助:http://www.githubarchive.org/

它存储GitHub时间轴中的所有公共事件,并公开它们进行处理.这些事件包含有关存储库的信息,因此您应该能够从中提取数据以适合您的用例.

例如,我刚刚在BigQuery控制台(https://bigquery.cloud.google.com/?pli=1)中使用以下查询来查找2012年日期的joyent/node存储库的分叉数-03-15:

SELECT repository_forks, created_at FROM [publicdata:samples.github_timeline] WHERE (repository_url = "https://github.com/joyent/node") AND (created_at CONTAINS "2012-03-15") LIMIT 1
Run Code Online (Sandbox Code Playgroud)

结果如下:

Row forks   created_at   
1   1579    2012-03-15 07:49:54  
Run Code Online (Sandbox Code Playgroud)

很明显,您可以使用BigQuery API执行类似的操作(提取所需的数据,获取一系列日期的数据等).

这是一个查询,用于获取给定日期的单个最大存储库(通过分叉):

SELECT repository_forks, repository_url FROM [publicdata:samples.github_timeline] WHERE (created_at CONTAINS "2012-03-15") ORDER BY repository_forks DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)

结果:

Row forks   repository_url   
1   6341    https://github.com/octocat/Spoon-Knife   
Run Code Online (Sandbox Code Playgroud)

以下是在给定日期通过分叉获取前100个存储库的查询:

SELECT MAX(repository_forks) as forks, repository_url FROM [publicdata:samples.github_timeline] WHERE (created_at CONTAINS "2012-03-15") GROUP BY repository_url ORDER BY forks DESC LIMIT 100
Run Code Online (Sandbox Code Playgroud)

结果:

Row forks   repository_url   
1   6341    https://github.com/octocat/Spoon-Knife   
2   4452    https://github.com/twitter/bootstrap     
3   3647    https://github.com/mxcl/homebrew     
4   2888    https://github.com/rails/rails
...
Run Code Online (Sandbox Code Playgroud)