2011-10-20 19 views
98

से कुछ प्रतिबद्धता कैसे प्राप्त करें मुझे GitHub से फेसबुक एपीआई डाउनलोड करने की आवश्यकता है। आम तौर पर, मैं नवीनतम स्रोत कोड डाउनलोड करने के लिए 'डाउनलोड्स' टैब पर क्लिक करता हूं। इस मामले में, मुझे एक पुरानी प्रतिबद्धता की आवश्यकता है: 91f256424531030a454548693c3a6ca49ca3f35a, लेकिन मुझे नहीं पता कि पूरी परियोजना को उस प्रतिबद्धता से कैसे प्राप्त किया जाए ...गिटहब प्रोजेक्ट

किसी कृपया मुझे सबसे पहले भंडार के साथ Git का उपयोग कर, जैसे बता सकते हैं कि कैसे यह करने के लिए

(btw, पर एक मैक im पता नहीं है कि यदि कोई फर्क नहीं पड़ता।)

+1

कृपया यह भी देखें कि http://stackoverflow.com/questions/13636559/how-to-download-zip-from-github-for-a-particular-commit-sha अगर आपको "केवल" ज़िप्ड की आवश्यकता है -snapshot-कोड "। –

+1

आपको अपने स्वीकृत उत्तर को बदलने पर विचार करना चाहिए, सबसे अधिक उत्साहित एक बहुत आसान है। –

उत्तर

138

, क्लोन:।

git clone git://github.com/facebook/facebook-ios-sdk.git 

जो रेपो का पूरा इतिहास डाउनलोड करता है sitory, तो आप किसी भी संस्करण पर स्विच कर सकते हैं। इसके बाद, नव क्लोन भंडार में बदल:

cd facebook-ios-sdk 

... और git checkout <COMMIT> का उपयोग सही करने के लिए बदलने के लिए प्रतिबद्ध:

git checkout 91f25642453 

कि आप एक चेतावनी दे देंगे, जब से तुम अब कर रहे हैं एक शाखा, और सीधे एक विशेष संस्करण में स्विच किया है। (इसे "अलग सिर" राज्य के रूप में जाना जाता है।) चूंकि ऐसा लगता है कि आप इसे सक्रिय रूप से विकसित करने के बजाय केवल इस एसडीके का उपयोग करना चाहते हैं, यह ऐसा कुछ नहीं है जिसके बारे में आपको चिंता करने की आवश्यकता है, जब तक कि आप बाहर निकलने में रूचि रखते हों गिट कैसे काम करता है इसके बारे में अधिक जानकारी।

+4

यदि आप बस फाइलें चाहते हैं तो इस बिंदु पर आप 'गिट निर्यात' भी कर सकते हैं। – Xeoncross

103

मुझे नहीं पता कि यह सवाल कब था जब आप इस प्रश्न को पोस्ट करते थे, लेकिन पर क्लिक करने के लिए सबसे अच्छा और आसान तरीका टैब पर एक रिपोजिटरी देखने पर क्लिक करना है। तब प्रतिबद्ध नाम पर क्लिक करने के बजाय, पर ब्राउज़ भंडार इतिहास बटन में इस बिंदु पर साथ <> प्रतीक प्रतिबद्ध नाम/संदेश के दाईं ओर के लिए क्लिक करें, और अंत में डाउनलोड ज़िप बटन पर कि आता है जब आप क्लोन पर क्लिक करें या बटन डाउनलोड करें।

मुझे आशा है कि यह आपको लोगों की मदद करेगा।

+9

बहुत आसान है। धन्यवाद। – ow3n

+3

"खोए गए कामों" को पुनर्प्राप्त करने का यही एकमात्र तरीका है जो कि गिटूब का इतिहास है, लेकिन "आधिकारिक" गिट टाइमलाइन से मिटा दिया गया है। इसका उपयोग करके, आप एक प्रतिबद्धता का एक ज़िप स्नैपशॉट प्राप्त कर सकते हैं जिसे विस्मरण में पुनर्जीवित किया गया था, जो कि एक नई शाखा को प्रतिबद्ध करता है, उस शाखा को मौजूदा रेपो में लाता है, और चेरी इसे वापस अस्तित्व में ले जाता है। – Ajax

+0

@Ajax यह सच नहीं है। आप अभी भी 'गीट रीफ्लॉग' का उपयोग कर शा प्राप्त कर सकते हैं, और उसके बाद पृथक प्रतिबद्धता –

15

gif में सिवान की जवाब enter image description here

1.Click GitHub में प्रतिबद्ध पर

प्रत्येक के दाईं ओर 2.Select ब्राउज़ कोड डाउनलोड ज़िप पर

3.Click प्रतिबद्ध है, जो डाउनलोड करेगा प्रतिबद्धता के उस बिंदु पर स्रोत कोड

+0

हैलो सूरज क्या आप कृपया मुझे बता सकते हैं कि आपने अपनी स्क्रीन का gif कैसे बनाया? –

+0

स्क्रीन के वीडियो को रिकॉर्ड करने के लिए त्वरित समय प्लेयर का उपयोग करें। किसी भी उपलब्ध टूल का उपयोग करके वीडियो का रूपांतरण करने के लिए वीडियो का रूपांतरण करें। इसे सक्रिय करें। @ राहुल सताल –

+0

धन्यवाद @ सूरजके थॉमस gif – Sivan

3

खोने वाले प्रतिबद्धता को पुनर्प्राप्त करने का सबसे आसान तरीका (जो केवल जिथब पर मौजूद है और स्थानीय रूप से नहीं) एक नई शाखा बनाना है जिसमें यह प्रतिबद्धता शामिल है।

  1. है प्रतिबद्ध खुला (जैसे यूआरएल: github.com/org/repo/commit/long-commit-sha)
  2. ऊपरी दाएँ
  3. लटकती "ट्री क्लिक पर
  4. पर क्लिक करें" ब्राउज़ फ़ाइलें " : शॉर्ट-शा ..."शीर्ष पर एक नई शाखा के नाम पर छोड़ दिया
  5. प्रकार
  6. git pull नई शाखा स्थानीय
+0

के लिए यह उत्तर स्वीकार किए गए एक से अधिक सामान्य है। मैं इस स्थिति से मुलाकात की कि मैं जिस प्रतिबद्धता को पहले से ही मास्टर शाखा पर गायब कर दूंगा, और गितूब गैर मौजूदा शाखाओं पर हर काम नहीं रखेगा। तो यह दृष्टिकोण गितूब पर उस प्रतिबद्धता से एक नई शाखा तैयार करेगा और इसे खींचने में सक्षम करेगा। –

+0

यह मुझे हटाए गए एक कांटा से एक प्रतिबद्धता (मूल SHA बरकरार के साथ) को पुनर्प्राप्त करने देता है जिसे मैंने पीआर किया था। एक नया कांटा बनाने के बाद, मैंने अपस्ट्रीम रेपो पर पीआर प्रतिबद्धता खोला, फिर "फाइल ब्राउज़ करें"। मैंने फिर उस यूआरएल की प्रतिलिपि बनाई और उपयोगकर्ता नाम को अपने साथ बदल दिया।फिर पेड़ पर क्लिक किया: ड्रॉपडाउन और मेरे कांटे में एक नई शाखा बनाई। महान काम किया! –

0

आप किसी भी निश्चित की कोड में कोई भी कुछ के साथ जाने के लिए प्रतिबद्ध चाहते हैं या तो प्रतिबद्ध आप कर सकते हैं करना चाहते हैं के लिए नीचे

git reset --hard <commit ID which code you want> 
git push --force 

उदाहरण::

git reset --hard fbee9dd 
git push --force 
+0

यह खतरनाक है, यह रेपो क्लोन और एक संस्करण चेकआउट करने के लिए और अधिक समझ में आता है – user1767754

2

बस को डाउनलोड करने के एसी आदेश नीचे का उपयोग ommit 7 अंकों SHA1 संक्षिप्त रूप का उपयोग कर कार्य करें:

कार्य उदाहरण:

https://github.com/python/cpython/archive/31af650.zip 

विवरण:

`https://github.com/username/projectname/archive/commitshakey.zip` 

आप लंबे समय हैश कुंजी 31af650ee25f65794b75d4dfefed6fe4758781c1, है, तो बस पहले 7 वर्ण 31af650 प्राप्त करें। यह गिटहब के लिए डिफ़ॉल्ट है।