9

私はGitHub上の100の最大のリポジトリの進化を理解しようとしています。GitHub検索機能またはGithubArchive.orgを使用して、今日の時点で最大の100のリポジトリ(寄稿者、スター、フォーク、またはLOCの総数ごとに測定)に簡単にアクセスできます。

ただし、その時点からの成長(または減少)を追跡できるように、履歴内の特定のデータ(たとえば、2011年4月1日)で最大の100個のリポジトリを調べたいと思います。過去の日付について、GitHubで最大の100個のリポジトリ(星、フォーク、またはLOCごとに測定)を特定するにはどうすればよいですか?

4

1 に答える 1

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

結果は次のとおりです。

Row forks   created_at   
1   1579    2012-03-15 07:49:54  

明らかに、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

結果:

Row forks   repository_url   
1   6341    https://github.com/octocat/Spoon-Knife   

そして、これが特定の日付のフォークによって上位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

結果:

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
...
于 2012-12-06T18:38:48.543 に答える