क्या यह देखने का एक तरीका है कि GitHub पर Git रिपॉजिटरी कितना बड़ा है इससे पहले कि आप इसे क्लोन करने का फैसला करें?
यह वास्तव में स्पष्ट / बुनियादी आँकड़ा जैसा लगता है, लेकिन मैं इसे GitHub पर बिल्कुल नहीं देख पा रहा हूँ।
क्या यह देखने का एक तरीका है कि GitHub पर Git रिपॉजिटरी कितना बड़ा है इससे पहले कि आप इसे क्लोन करने का फैसला करें?
यह वास्तव में स्पष्ट / बुनियादी आँकड़ा जैसा लगता है, लेकिन मैं इसे GitHub पर बिल्कुल नहीं देख पा रहा हूँ।
जवाबों:
GitHub API के माध्यम से इस जानकारी तक पहुंचने का एक तरीका है ।
GET /repos/:user/:repo
जब एक रिपॉजिटरी के बारे में जानकारी प्राप्त की जाती है, तो एक संपत्ति का नाम size
पूरे रिपॉजिटरी के आकार (इसके इतिहास के सभी सहित) के साथ किलोबाइट्स में मूल्यवान होता है।
उदाहरण के लिए, Git रिपॉजिटरी का वजन लगभग 124 MB है। size
लौटे JSON पेलोड की संपत्ति का मूल्य है 124283
।
आकार वास्तव में सर्वर-साइड नंगे भंडार के डिस्क उपयोग के आधार पर किलोबाइट्स में व्यक्त किया गया है। हालांकि, एक बड़े नेटवर्क के साथ रिपॉजिटरी के साथ बहुत अधिक जगह बर्बाद करने से बचने के लिए, GitHub Git Alternates पर निर्भर करता है । इस कॉन्फ़िगरेशन में, नंगे रिपॉजिटरी के खिलाफ डिस्क उपयोग की गणना साझा ऑब्जेक्ट स्टोर के लिए नहीं होती है और इस तरह एपीआई कॉल के माध्यम से "अपूर्ण" मान देता है।
यह जानकारी GitHub सपोर्ट द्वारा दी गई है।
$ curl -u "{:username}" https://api.github.com/repos/{:organization}/{:repository}
। डेवलपर
यदि आप रिपॉजिटरी के मालिक हैं, तो आप अपनी खाता सेटिंग्स → रिपॉजिटरी ( https://github.com/settings/repositories ) खोलकर सटीक आकार पा सकते हैं , और इसके आकार के आगे रिपॉजिटरी आकार प्रदर्शित होता है।
यदि आपके पास रिपॉजिटरी नहीं है, तो आप इसे कांटा कर सकते हैं और फिर उसी स्थान पर चेक कर सकते हैं।
कुछ हद तक हैकी: download as a zip file
विकल्प का उपयोग करें , इंगित फ़ाइल आकार पढ़ें और फिर इसे रद्द करें।
मुझे याद नहीं है कि क्या कभी जिप के रूप में डाउनलोड किया गया था, लेकिन किसी भी मामले में, ऐसा करने से अब केवल वर्तमान में चयनित शाखा डाउनलोड होती है जिसका कोई इतिहास नहीं है।
Settings > Repositories
, लेकिन इसके बजाय Account Settings > Repositories
आपके git होम पेज के नीचे रेपो आकार मिला । बेशक, यह केवल रिपॉजिट के साथ काम करता है जो आप (या कांटा) के मालिक हैं।
यदि आप Google Chrome ब्राउज़र का उपयोग करते हैं तो आप GitHub रिपॉजिटरी साइज़ एक्सटेंशन इंस्टॉल कर सकते हैं ।
रेपो यहाँ: https://github.com/harshjv/github-repo-size
@ लिलावन महान नमूना कोड। नए GitHub API V3 के साथ, कर्ल स्टेटमेंट को अपडेट करने की आवश्यकता है। इसके अलावा, लॉगिन की अब आवश्यकता नहीं है:
curl https://api.github.com/repos/$2/$3 2> /dev/null | grep size | tr -dc '[:digit:]'
उदाहरण के लिए:
curl https://api.github.com/repos/dotnet/roslyn 2> /dev/null | grep size | tr -dc '[:digit:]'
रिटर्न 931668
(KB में), जो लगभग एक जीबी है।
कर्ल के साथ ऐसा करने के लिए (sudo apt-get curl) और json pretty (sudo gem install jsonpretty sson:
curl -u "YOURGITHUBUSERNAME" http://github.com/api/v2/json/repos/show/OWNER/REPOSITORY |
jsonpretty
अपने GitHub उपयोगकर्ता नाम (जाने का आंकड़ा) के साथ अपनी जगह बदलें।
रिपॉजिटरी के मालिक के उपयोगकर्ता नाम के साथ OWNER को बदलें। रिपॉजिटरी को रिपॉजिटरी नाम से बदलें।
या एक अच्छी बैश स्क्रिप्ट के रूप में (इसे gitrepo-info नामक फ़ाइल में पेस्ट करें):
#!/bin/bash
if [ $# -ne 3 ]
then
echo "Usage: gitrepo-info <username> <owner> <repo>"
exit 65
fi
curl -u "$1" http://github.com/api/v2/json/repos/show/$2/$3|jsonpretty
इसका उपयोग ऐसे करें:
gitrepo-info larowlan pisi reel
यह मुझे GitHub पर pisi / reel रिपॉजिटरी की जानकारी देगा ।
आपको GitHub API का अनुसरण करने की आवश्यकता है। अपनी रिपॉजिटरी के बारे में सभी विवरणों के लिए यहां दस्तावेज देखें । इसके लिए आपको एक GET अनुरोध करना होगा:
GET / रेपो /: मालिक /: रिपॉजिटरी
आपको दो चीजें बदलनी होंगी:
उदाहरण के लिए, मेरा उपयोगकर्ता नाम महेशमंज , और मेरे पास एक रिपॉजिटरी, स्पंदन-उई-अच्छा है , इसलिए मेरा GET URL होगा:
https://api.github.com/repos/maheshmnj/flutter-ui-nice
GET अनुरोध करने पर, आपको कुछ JSON डेटा के साथ बाढ़ आ जाएगी और शायद लाइन नंबर 78 पर आपको एक कुंजी नाम आकार देखना चाहिए जो रिपॉजिटरी का आकार वापस कर देगा।
युक्ति: JSON के साथ काम करते समय मैं आपको एक प्लगइन जोड़ने का सुझाव देता हूं जो JSON को पढ़ने में आसान बनाने के लिए JSON डेटा को प्रारूपित करता है। प्लगइन स्थापित करें ।
size
जवाब में कुंजी को पढ़ने के लिए उल्लेख किया जाना चाहिए , रेखा 78 पर नहीं। उल्लेख नहीं करने के लिए, विभिन्न फॉर्मेटर्स के पास अलग-अलग स्थानों पर अलग-अलग लाइन ब्रेक होंगे, वांछित डेटा को एक अलग लाइन नंबर पर छोड़ना होगा।
probably
इसे लाइन नंबर 78 पर देखना चाहिए , ताकि यह संकेत मिले कि आपको आकार कुंजी 78 के आसपास कहीं दिखनी चाहिए। , दूसरी बात अगर गीथूब एपिस से आकार सटीक नहीं था, तो मुझे नहीं लगता कि आप जीथब एपिस की तुलना में कुछ अधिक सटीक पाएंगे।
@Lrowlan, @VMTrooper, और @vahid chakoshy समाधान को संक्षेप में प्रस्तुत करने के लिए:
#!/usr/bin/env bash
if [ "$#" -eq 2 ]; then
echo "$(echo "scale=2; $(curl https://api.github.com/repos/$1/$2 2>/dev/null \
| grep size | head -1 | tr -dc '[:digit:]') / 1024" | bc)MB"
elif [ "$#" -eq 3 ] && [ "$1" == "-z" ]; then
# For some reason Content-Length header is returned only on second try
curl -I https://codeload.github.com/$2/$3/zip/master &>/dev/null
echo "$(echo "scale=2; $(curl -I https://codeload.github.com/$2/$3/zip/master \
2>/dev/null | grep Content-Length | cut -d' ' -f2 | tr -d '\r') / 1024 / 1024" \
| bc)MB"
else
printf "Usage: $(basename $0) [-z] OWNER REPO\n\n"
printf "Get github repository size or, optionally [-z], the size of the zipped\n"
printf "master branch (`Download ZIP` link on repo page).\n"
exit 1
fi
एक निजी रिपॉजिटरी के लिए, आपको https://github.com/settings/tokens से एक निजी एक्सेस टोकन प्राप्त करना होगा ।
फिर विवरण प्राप्त करने के लिए निम्नलिखित कर्ल कमांड का उपयोग करें ([टोकन], [स्वामी] और [नाम] के मानों में प्रतिस्थापित):
curl -u git:[token] https://api.github.com/repos/[owner]/[name] 2> /dev/null | grep size
जैसा कि पहले उल्लेख किया गया है, आकार एमबी या केबी में हो सकता है।