gitリポジトリのダウンロード/クローン統計を取得する方法はありますか?


81

gitリポジトリがgithubから複製またはダウンロードされた回数を取得する方法はありますか?http://gitstats.sourceforge.net/を使用してコードのコミット時間行などの他の統計が生成されるのを見つけたので、興味がありましたが、クローン/ダウンロード数を確認する方法が見つかりませんでした。


代わりにリポジトリがフォークされた回数を知りたいですか?それは間違いなく実行可能だからです。

1
これで、クローン数を確認できます。GitHubクローンの統計を取得する方法を
vonC 2014

回答:


31

クローン作成は読み取り専用操作であり、元のリポジトリは変更されません。単に追跡されていないデータの統計を取得する方法はありません。


24
トランスポートメカニズムのレベルでログを記録することで、gitの外部で追跡することが可能です。たとえば、gitoliteログは、クローンを推測するのに十分な情報を提供すると確信しています(ただし、すべての参照を別の方法でフェッチすることと区別できない場合がありますか?ここで確認する必要はありません)。しかしもちろん、たとえ存在していても、githubからそのようなものにアクセスすることはできません。
Cascabel 2011

クローンは、それ自体がクローンを作成できる完全なリポジトリであることを気にしないでください。リポジトリの特定のインスタンスが複製された回数を確認することは、それを普遍的に複製した人の数を把握するのに役立ちません。
meagar

29
ええ、それは確かに信頼できる統計ではありませんが、たとえば、オープンソースプロジェクトは、安定したスナップショットではなく、開発マスターから構築する可能性のある人の数を少なくとも1桁見積もることに興味があります。
カスカベル2011

1
gitcloneリクエストの量をログに記録できると思います。またはさらに良いことに、実際にダウンロードを完了するこれらのリクエスト。
アクエリアスパワー

84

今ではとても簡単です!

「REPO->インサイト->トラフィック」に移動します

ここに画像の説明を入力してください


1
注意点として、これにはある程度の「所有権」またはコミッターレベルのアクセス権が必要なようです
bbarker 2018

3
@KevinWorth OPは、彼の質問でgithubについて具体的に言及しました。そして、githubにタグを付けました。おそらくあなたは完全な質問を読んでいないか、それのタグを見ていませんか?
csga5000 2018

3
素晴らしい-過去30日間の統計が表示されます。彼らがずっとまたは年ごとに持っていればいいのですが、これは何かです!
TetraDev 2018

15

github APIを使用して、1つのコマンドでそれを取得するさらに簡単な方法があることがわかりました。

curl -u [username]:[password] https://api.github.com/repos/[owner]/[repo]/traffic/clones

ここに:

username  = your github id
password  = your github password, optional. If not put in command, a password request would pop out.
owner     = the owner of the repo, might be another name for a organized repo
repo      = the repo name

楽しんで。


5

ダウンロード統計に関しては、APIを介しリリースに関する情報を取得できます

WordPressを使用している人のために、私はこのプラグインを開発しました:GitHub ReleaseDownloads。これにより、GitHubリポジトリのリリースのダウンロード数、リンク、および詳細情報を取得できます。

元の質問に対処するために、ショートコード[grd_count user="User" repo="MyRepo"]はリポジトリのダウンロード数を返します。この数は、1つのGitHubリポジトリのすべてのリリースのすべてのダウンロードカウント値の合計に対応します。

例: 例


1

実際のクローン数は、クローングラフ機能を介して入手できます。これをスクレイプして個々の数を取得することができました。

#!/bin/sh
#
# This script requires:
#   apt-get install html-xml-utils
#   apt-get install jq
#
USERNAME=dougluce
PASSWORD="PASSWORD GOES HERE, BE CAREFUL!"
REPO="dougluce/node-autovivify"

TOKEN=`curl https://github.com/login -s -c /tmp/cookies.txt | \
     hxnormalize | \
     hxselect 'input[name=authenticity_token]' 2>/dev/null | \
     perl -lne 'print $1 if /value=\"(\S+)\"/'`

curl -X POST https://github.com/session \
     -s -b /tmp/cookies.txt -c /tmp/cookies2.txt \
     --data-urlencode commit="Sign in" \
     --data-urlencode authenticity_token="$TOKEN" \
     --data-urlencode login="$USERNAME" \
     --data-urlencode password="$PASSWORD" > /dev/null

curl "https://github.com/$REPO/graphs/clone-activity-data" \
     -s -b /tmp/cookies2.txt \
     -H "x-requested-with: XMLHttpRequest" #| jq '.summary'

0

Githubを含むさまざまなWebサイトのプロジェクトの数を表示するアイコンバーを提供するshields.ioを使用できます。ダウンロード数は表示されますが、クローン数は表示されません。

これが私が持っているプロジェクトの例です:

マークダウンコード:

![GitHub All Releases](https://img.shields.io/github/downloads/lewdev/hw-gen/total)

結果:

GitHubのすべてのリリース

すでに公開されているため、誰も私のアプリを「ダウンロード」しませんが、人々はそれを複製します。だから私はむしろそのカウントを見たいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.