क्या एक गिट रिपॉजिटरी के डाउनलोड / क्लोन आंकड़े प्राप्त करने का एक तरीका है?


81

क्या कोई तरीका है कि गिट रिपॉजिटरी को कितनी बार क्लोन किया गया है या जीथब से डाउनलोड किया गया है? मैं बस उत्सुक था क्योंकि मुझे अन्य आंकड़े मिले जैसे कि कोड कैम की प्रतिबद्ध समय रेखाओं का उपयोग करके उत्पन्न किया जाता है: http://gitstats.sourceforge.net/ लेकिन मुझे क्लोन / डाउनलोड गणना की जांच करने का तरीका नहीं मिला।


क्या आप यह पता लगाना चाहेंगे कि इसके बजाय कितनी बार एक रिपॉजिटरी को कांटा गया है? क्योंकि वह निश्चित रूप से उल्लेखनीय है।

1
अब आप क्लोन की संख्या देख सकते हैं : देखें कि कैसे GitHub क्लोन आँकड़े प्राप्त करें?
VonC

जवाबों:


31

क्लोनिंग केवल-पढ़ने का कार्य है, मूल रिपॉजिटरी को संशोधित नहीं किया गया है। ऐसा कोई तरीका नहीं है जिससे आप डेटा के लिए आंकड़े खींच सकें जो कि केवल ट्रैक नहीं किया गया है।


24
खैर, परिवहन तंत्र के स्तर पर लॉग करके, इसे गिट के बाहर ट्रैक करना संभव होगा । उदाहरण के लिए, मुझे पूरा यकीन है कि गिटोलिट लॉग क्लोन को कम करने के लिए पर्याप्त जानकारी प्रदान करेगा (हालांकि मुझे लगता है कि वे सभी रीफ़ को अलग-अलग तरीके से लाने से अलग नहीं हो सकते हैं? यहां कोई देखने के लिए नहीं है)। लेकिन निश्चित रूप से, आपके पास उस तरह की चीज़ों तक पहुंच नहीं है, भले ही वह मौजूद हो।
कास्कैब

कोई बात नहीं कि क्लोन पूर्ण रिपॉजिटरी हैं जिन्हें खुद क्लोन किया जा सकता है। यह देखते हुए कि कितनी बार एक भंडार का एक विशेष उदाहरण क्लोन किया गया है, यह पता लगाने के लिए उपयोगी नहीं होगा कि कितने लोगों ने इसे सार्वभौमिक रूप से क्लोन किया है।
meagar

29
हाँ, यह निश्चित रूप से एक विश्वसनीय आँकड़ा नहीं होगा, लेकिन उदाहरण के लिए, मैं एक ओपन सोर्स प्रोजेक्ट देख सकता था जो कम से कम उत्सुकता का एक अनुमान है कि कितने लोग स्थिर स्नैपशॉट के बजाय विकास मास्टर से निर्माण कर सकते हैं।
कास्केबेल

1
मुझे लगता है कि वे सिर्फ git क्लोन अनुरोधों को लॉग इन कर सकते हैं; या इससे भी बेहतर, ये अनुरोध जो वास्तव में डाउनलोड को पूरा करते हैं।
कुंभ पावर

84

अब यह सुपर आसान है!

"REPO -> अंतर्दृष्टि -> यातायात" पर जाएं

यहाँ छवि विवरण दर्ज करें


1
बस एक ध्यान दें, इसके लिए आवश्यक है कि आपके पास "स्वामित्व" या कमिटर स्तर तक पहुंच का कोई स्तर हो
bbarker

3
@ क्वीनवर्थ द ओपी ने अपने प्रश्न में विशेष रूप से जीथब का उल्लेख किया है। और जीथब को टैग किया। शायद आपने पूरा प्रश्न नहीं पढ़ा, या यह टैग है?
csga5000

3
बहुत बढ़िया - यह पिछले 30 दिनों के आंकड़ों को दर्शाता है। यह अच्छा होगा यदि उनके पास हर समय या वर्ष तक हो, लेकिन यह कुछ है!
टेट्रादेव

15

मुझे अभी पता चला है कि जीथब एपीआई का उपयोग करके इसे एक ही कमांड के साथ प्राप्त करने का एक सरल तरीका है।

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

डाउनलोड आँकड़ों के बारे में, आप एपीआई के माध्यम से अपने रिलीफ के बारे में जानकारी प्राप्त कर सकते हैं ।

WordPress का उपयोग करने वालों के लिए, मैंने इस प्लगइन को विकसित किया: GitHub रिलीज़ डाउनलोड । यह आपको 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

आप शील्ड.आईओ का उपयोग कर सकते हैं जो आइकन बार प्रदान करता है जो गिथब सहित विभिन्न वेबसाइटों में परियोजनाओं के लिए मायने रखता है। वे डाउनलोड काउंट्स प्रदर्शित करते हैं, लेकिन क्लोन काउंट्स नहीं।

मेरे पास एक परियोजना के लिए एक उदाहरण है:

मार्कडाउन कोड:

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

परिणाम:

गिटहब ऑल रिलीज

कोई भी मेरे ऐप को "डाउनलोड" नहीं करता है क्योंकि यह पहले से ही प्रकाशित है, लेकिन लोग इसे क्लोन करते हैं। इसलिए मैं इसके लिए मायने रखता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.