Чи є спосіб отримати статистику завантаження / клонування сховища git?


81

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


Чи хотіли б ви дізнатись, скільки разів сховище було розгалужено ? Тому що це, безумовно, можливо.

1
Тепер ви можете побачити кількість клонів : див. Як отримати статистику про клонування GitHub?
VonC

Відповіді:


31

Клонування - це операція лише для читання, оригінальне сховище не змінено. Ви не можете отримати статистику для даних, які просто не відстежуються.


24
Ну, це було б можливо , щоб відстежувати його межами мерзотника, увійшовши на рівні транспортного механізму. Наприклад, я впевнений, що журнали гітоліту надаватимуть достатньо інформації для виведення клонів (хоча, я думаю, їх неможливо відрізнити від отримання всіх посилань по-іншому? Тут їх немає для погляду). Але, звичайно, у вас немає доступу до подібних речей з github, навіть якщо вони існують.
Cascabel

Неважливо, що клони - це повні сховища, які самі можна клонувати. Бачити, скільки разів клонували певний екземпляр сховища, не було б корисним для з’ясування того, скільки людей клонували його універсально.
meagar

29
Так, це, звичайно, ніколи не буде надійною статистикою, але, наприклад, я міг бачити проект з відкритим кодом, який цікавився, принаймні, оцінкою на порядок, скільки людей може будувати з майстра розробки замість стабільних знімків.
Cascabel

1
Я думаю, вони могли б просто реєструвати кількість запитів клону git; або навіть краще, ці запити, які фактично завершують завантаження.
Power Aquarius

84

Це дуже просто зараз!

Перейдіть "REPO -> Статистика -> Трафік"

введіть тут опис зображення


1
лише примітка, це, здається, вимагає, щоб у вас був якийсь рівень "власності" або доступу до рівня
комітера

3
@KevinWorth ОП спеціально згадав github у своєму питанні. І позначив github. Можливо, ви не прочитали повне запитання або не подивилися його теги?
csga5000,

3
Чудово - він показує статистику за останні 30 днів. Було б непогано, якби вони мали весь час або рік, але це щось!
TetraDev

15

Я просто з’ясовую, що є ще простіший спосіб отримати його за допомогою однієї команди за допомогою 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

Веселіться.


5

Що стосується статистики завантажень, ви можете отримати інформацію про свої випуски за допомогою API .

Для тих, хто використовує WordPress, я розробив цей плагін: GitHub Release Downloads . Це дозволяє отримати кількість завантажень, посилання та додаткову інформацію про випуски сховищ GitHub.

Щоб вирішити вихідне запитання, шорт-код [grd_count user="User" repo="MyRepo"]поверне кількість завантажень для сховища. Це число відповідає сумі всіх значень кількості завантажень усіх випусків для одного сховища 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

Ви можете використовувати shields.io, який надає рядки значків, які відображають кількість проектів на різних веб-сайтах, включаючи Github. Вони відображають кількість завантажень, але не кількість клонів.

Ось приклад проекту, який у мене є:

Код націнки:

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

Результат:

Всі релізи GitHub

Мій додаток ніхто не «завантажує», оскільки він уже опублікований, але люди його клонують. Тож я волів би бачити підрахунок цього.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.