GitHub से .zip को किसी खास कमिट श के लिए कैसे डाउनलोड करें?


106

मैं github पर होस्ट की गई लाइब्रेरी के स्रोत के साथ एक .zip डाउनलोड करना चाहता हूं, लेकिन मैं मास्टर नहीं चाहता, क्योंकि हर बार जब मैं डाउनलोड करता हूं तो मैं एक अलग संस्करण डाउनलोड कर सकता हूं।

इस विशेष लाइब्रेरी में टैग नहीं हैं, इसलिए मैं इसका उपयोग नहीं कर सकता।

तो मैं एक विशिष्ट प्रतिबद्ध शा के लिए source.zip को कैसे डाउनलोड करूं?


3
यह php या संगीतकार-php के साथ टैग किए जाने की आवश्यकता नहीं है, क्या यह है?
काकोवस्की

जवाबों:


218

आप डाउनलोड url में अपनी इच्छित शक्ल डाल सकते हैं:

https://github.com/{username}/{projectname}/archive/{sha}.zip

एक सामान्य नियम के रूप में, यदि आपके पास एक यूआरएल है जो काम करता है, तो आप "मास्टर" को उस विशिष्ट शा के साथ बदल सकते हैं जिसे आप चाहते हैं।

यूनिक्स पर:

wget https://github.com/{username}/{projectname}/archive/{sha}.zip

ध्यान रखें कि यदि यह एक निजी रेपो है तो तब तक काम नहीं चलेगा जब तक आप OAuth टोकन को पास नहीं करते हैं।

यहाँ उस पर अधिक जानकारी है:

निजी रेपो से Git आर्काइव तारकोल डाउनलोड करने में परेशानी


7
यह करने के लिए (शांत) तरीके की उम्मीद नहीं थी। जीआईटी कमांड्स की उम्मीद कर रहा था;)
हेनचैकर

इस लिंक को भी देखें - इसके बजाय इसके लिए खोज की जा सकती है stackoverflow.com/a/48503019/341117
रवींद्र गुल्लापल्ली

आप शॉर्ट शेक का भी इस्तेमाल कर सकते हैं!
वंदारेड

यहां तक ​​कि अगर मैं wget -Oसंग्रह ज़िप फ़ाइल का नाम बदलने के लिए उपयोग करता हूं , तो अनज़ैप्ड होने पर मुझे एक बड़ा बदसूरत SHA1 निर्देशिका नाम मिलता है। इससे बचने का कोई उपाय?
QED

40

जब कमिट कोड को देखते हैं, ऊपरी दाईं ओर "ब्राउज कोड" बटन पर क्लिक करें, इसके बाद "डाउनलोड ज़िप" पर क्लिक करें।


1
उनके पास अब एक 'क्लोन या डाउनलोड' बटन है, जहाँ आप 'ज़िप डाउनलोड' कर सकते हैं।
सुरेशS

"क्लोन या डाउनलोड" नया बटन है जो पुराने "क्लोन" और "डाउनलोड" बटन को बदल देता है। नया बटन विशिष्ट संस्करण नहीं करता है - Zeki वर्णित तरीका का उपयोग करें
pal

3
इसने मेरे लिए फरवरी 2017 में काम किया। इसने रेपो को चयनित कमेटी के टाइमस्टैम्प में बदलाव के साथ डाउनलोड किया।
ओशन 4dream

7

यह एक पुराना प्रश्न है, लेकिन यह उल्लेख करना चाहता था कि यदि आप केवल एक पैच के रूप में कमिटमेंट चाहते हैं, और कमिट के समय पूरे रेपो नहीं, तो आप उपयोग कर सकते हैं:

$ wget http://github.com/username/repo/commit/sha1.patch
#                        ^^^^^^^^ ^^^^        ^^^^
#                        change   change      change

/commitऔर .patchभागों महत्वपूर्ण हिस्सा बनने के।

यह विशेष रूप से उपयोगी है यदि आप एक बदलाव में विलय करना चाहते हैं जो थोड़ी देर पहले उलट गया था और इसलिए कांटेक्ट रेपो में मौजूद नहीं है।

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