2012-04-06 16 views
14

से गिट आर्काइव टैरबॉल डाउनलोड करने में परेशानी होने के कारण मुझे विशिष्ट टैग पर हमारे एप्लिकेशन को डाउनलोड करने की क्षमता की आवश्यकता है, लेकिन मैं इसके लिए एक समाधान समाधान नहीं ढूंढ पा रहा हूं। गिट टैग के आधार पर टैरबॉल डाउनलोड करना प्रतीत होता है लेकिन मैं कर्ल का उपयोग करके इसे काम करने में असमर्थ हूं। मैंने निम्नलिखित कोशिश की है लेकिन मैं वापस गिटूब 404 पेज का स्रोत हूं।निजी रिपो

curl -sL https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m?login=$MY_USER_NAME&token=$MY_TOKEN > 0.2.0.257m.tar 
+0

क्या आपने सार्वजनिक रिपो पर एक ही यूआरएल योजना की कोशिश की है? – CharlesB

+0

क्या आपने wget की कोशिश की है? या बस एक विशिष्ट टैग से कोड क्लोन करने के लिए गिट का उपयोग करें? –

उत्तर

26

सार्वजनिक रेपो के लिए, आप this gist लिस्टिंग कुछ उदाहरण हैं:

wget --no-check-certificate https://github.com/sebastianbergmann/phpunit/tarball/3.5.5 -O ~/tmp/cake_phpunit/phpunit.tgz 

एक निजी रेपो के लिए, एक पोस्ट निर्देश में अपने क्रेडेंशियल जानकारी गुजर कोशिश:

wget --quiet --post-data="login=${login}&token=${token}" --no-check-certificate https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m 

या एक का उपयोग एसओ प्रश्न "git equivalent to svn export or github workaround" के रूप में curl कमांड, में भी विस्तृत विवरण में बताया गया है:
"A curl tutorial using GitHub's API" ।

curl -sL --user "${username}:${password}" https://github.com/$account/$repo/tarball/$tag_name > tarball.tar 

(पठनीयता के लिए कई पंक्तियों में):

अंतिम कर्ल आदेश कुछ इस तरह देख समाप्त हो गया:


OP Steven Jp रिपोर्ट curl आदेश काम कर दिया हो रही है

curl -sL --user "${username}:${password}" 
    https://github.com/$account/$repo/tarball/$tag_name 
    > tarball.tar 
+3

आपका दूसरा लिंक मुझे काम करने में मदद करता है। अंतिम कर्ल आदेश इस 'कर्ल -sL --उपयोगकर्ता की तरह कुछ" $ {username}: $ {पासवर्ड} "की तलाश में समाप्त हो गया https://github.com/$account/$repo/tarball/$tag_name> tarball.tar ' –

+0

@Steven_JP उत्कृष्ट। मैंने अधिक दृश्यता के उत्तर में आपका आदेश शामिल किया है। – VonC

+0

आपकी मदद के लिए धन्यवाद –

11

एक access token बनाने के बाद,

आप wget उपयोग कर सकते हैं:

wget --output-document=<version>.tar.gz \ 
    https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN> 

या curl:

curl -L https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN> \ 
    > <version>.tar.gz 

अधिक जानकारी GitHub's API reference for archive links में पाया जा सकता। Github.com पर अपने निजी संगठन में

0

प्रवेश करें, फिर यहां अपनी टोकन बनाने के लिए जाना: https://github.com/settings/applications#personal-access-tokens

जब अपने निजी संगठन में कर्ल करने की कोशिश कर, का उपयोग करें:

curl --header 'Authorization: token ADDACCESSTOKENHERE' \ 
--header 'Accept: application/vnd.github.v3.raw' \ 
--remote-name \ 
--location https://api.github.com/repos/ORG/PROJECT/contents/FILE 

बदलें क्या आपकी जानकारी के साथ सीएपीएस में ...

+0

कुछ के लिए कारण, जब एक हेडर ऑथ के लिए है, तो मुझे बाइनरी एसेट डाउनलोड करने के लिए गिथब एपीआई को कर्ल के साथ एकाधिक हेडर भेजने के साथ समस्या थी।यह "केवल एक ऑथ तंत्र की अनुमति के एक्सएमएल प्रतिक्रिया देता है; केवल एक्स-अमेज़-एल्गोरिदम क्वेरी पैरामीटर, हस्ताक्षर क्वेरी स्ट्रिंग पैरामीटर या प्राधिकरण शीर्षलेख निर्दिष्ट किया जाना चाहिए"। लेकिन अगर मैंने स्ट्रिंग पैरामीटर क्वेरी करने के लिए हेडर होने से ऑथ को बदल दिया है, तो यह काम करता है। तो बस इस quirk का जिक्र है। – David

+0

मेरे लिए काम नहीं किया, प्रिंट 'नहीं मिला' – zaitsman

संबंधित मुद्दे