Есть ли способ получить статистику загрузки/клонирования репозитория git?

есть ли способ получить, сколько раз репозиторий git был клонирован или загружен с github? Мне было просто любопытно, поскольку я нашел другую статистику, такую как время фиксации строк кодов cam, генерируемых с помощью: http://gitstats.sourceforge.net/ но я не нашел, как проверить количество клонов / загрузок.

5 ответов


клонирование-это операция только для чтения, исходный репозиторий не изменяется. Невозможно получить статистику для данных, которые просто не отслеживаются.


его супер легко сейчас!

перейти "РЕПО - > Insights - > трафик"

enter image description here


Что касается статистики загрузки, вы можете получить информацию о своем релизы через API.

для тех, кто использует WordPress, я разработал этот плагин:GitHub Релиз Загрузки. Он позволяет получить количество загрузок, ссылки и дополнительную информацию для выпусков репозиториев GitHub.

чтобы ответить на исходный вопрос, шорткод [grd_count user="User" repo="MyRepo"] вернет количество загрузок для репозитория. Это число соответствует к сумме всех значений подсчета загрузки всех выпусков для одного репозитория GitHub.

пример: Example


Я просто узнаю, что есть еще более простой способ получить его с помощью одной команды с помощью API github.

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

получать удовольствие.


фактическое количество клонов доступно через Графики Клон функция, которую я смог наскрести, чтобы получить индивидуальные подсчеты:

#!/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  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'