2014-10-18 6 views
5

पर गिट चेरी-पिक शाखा रहित प्रतिबद्धता मैं ग्रिथ से एक प्रतिबद्धता चुनने की कोशिश कर रहा हूं।रिमोट

https://github.com/angular/angular.js/commit/469b750019adb193f2b973ab841ac87d0d06d4f2

जहां तक ​​मेरा बता सकते हैं, यह किसी भी सक्रिय शाखाओं का एक हिस्सा नहीं है। मैं अपने स्थानीय रेपो में यह करने की कोशिश की:

git remote add upstream https://github.com/angular/angular.js.git 
git fetch upstream 
git cherry-pick 469b750 

मैं इस त्रुटि मिलती है

fatal: bad revision '469b750' 

मैं क्या संभव करने के लिए कोशिश कर रहा हूँ है? मैंने खोए, अनाथ, और शाखाहीन कामों की खोज की, लेकिन मुझे कुछ भी नहीं मिला जो मदद करता था। मैं बस इसे कॉपी/पेस्ट कर सकता हूं और इसके साथ किया जा सकता हूं, लेकिन मैं इतिहास रखने और गिट के बारे में और जानने की कोशिश कर रहा हूं। धन्यवाद।

+0

किसी रिमोट से एक प्रतिबद्धता प्राप्त करने का कोई तरीका नहीं है जो किसी संदर्भ के माध्यम से पहुंच योग्य नहीं है (जो चेरी-पिक के लिए एक शर्त है) –

+0

सबसे अधिक संभावना है कि सवाल में प्रतिबद्धता बल-पुश के बाद पहुंच योग्य नहीं हो पाई है (ध्यान दें कि इसके माता-पिता, '80ea36256f8ffc6ad59ea5964c919c36327a909d', अभी भी पहुंच योग्य है) लेकिन [किसी भी तरह से अभी भी गिथब पर दिखाई देता है] (https://help.github.com/articles/commit-exists-on-github-but-not-in-my -local क्लोन/# शाखा-कि निहित-प्रतिबद्ध-था-हटाया गया)। पुष्टिकरण के लिए – Jubobs

उत्तर

5

यह बिल्कुल चेरी ले नहीं होगा, लेकिन आप इस प्रकार लागू कर सकते हैं इस के लिए प्रतिबद्ध:

  1. Github यूआरएल के लिए .patch जोड़ें और Git पैच फ़ाइल के रूप में सहेज:

    wget https://github.com/angular/angular.js/commit/469b750019adb193f2b973ab841ac87d0d06d4f2.patch -o new.patch 
    
  2. git am:

    के साथ इस पेड़ को अपने पेड़ पर लागू करें इस के 0
    git am new.patch 
    

परिणाम चेरी पिकिंग को समान होना चाहिए।

+0

यदि आपको कोई फर्क नहीं पड़ता है तो आपके उत्तर में संयुक्त अनुसंधान और स्वयं सहायता जानकारी। – BookOfGreg

+1

@BookOfGreg: यह अच्छी तरह से ज्ञात है कि आप यूथ में .patch जोड़कर गितब से गिट-स्वरूपित पैच प्राप्त कर सकते हैं।इसके अलावा मैं अक्सर चेरी-पिकिंग के बजाय 'गिट प्रारूप-पैच -1'/'गीट एम' कॉम्बो का उपयोग करता हूं - मुझे यह अधिक सुविधाजनक लगता है। यही कारण है कि मैंने इसे एक समाधान के रूप में प्रस्तावित किया। – mvp

1

यह वास्तव में एक दिलचस्प समस्या है। मैं इसे स्थानीय रूप से स्वयं परीक्षण कर रहा था और प्रतिबद्धता reflog --all में दिखाई नहीं दे रही है, इसलिए यह केवल अनाथ नहीं है बल्कि इसे पुथ, क्लोन या फ़ेच पर गीथब से डाउनलोड नहीं किया गया है। यह एक ऐसा मामला हो सकता है जब तक कि आप इसे मैन्युअल रूप से डाउनलोड न करें और इसे पेड़ में वापस न रखें।

https://help.github.com/articles/commit-exists-on-github-but-not-in-my-local-clone/

+0

धन्यवाद। मैंने अपने शोध में जिथब लेख देखा, यह ठोस है। चेरी पिकिंग के बारे में किसी भी जानकारी की कमी से पता चलता है कि यह संभव नहीं है। मैं देखना चाहता हूं कि स्टैक ओवरफ्लो सहमत है या नहीं। –

+2

एमवीपी का समाधान इसे मैन्युअल रूप से डाउनलोड करता है और इसे पेड़ में वापस रखता है, इसलिए मेरी पृष्ठभूमि सही थी लेकिन ऐसा करने के लिए उसका वास्तविक तंत्र समाधान है। :) – BookOfGreg

0

मैं एक विशेष कार्यकर्ता के लिए बिटबकेट में देख रहा था, जो आज एक सहकर्मी ने किया था और फिर चेरी को मेरी कमांड लाइन में ले गया था (और अन्य प्रतिबद्धताओं की एक श्रृंखला) को अन्य प्रयोगात्मक गिट शाखा में ले जाना था। मैंने देखा कि मैं यह "घातक: खराब संशोधन" ####### 'त्रुटि में जाता हूं। इसकी वजह यह है कि यह बिटबकेट में था, यह मेरे स्थानीय गिट रेपो में नहीं था ... मैंने उन लोगों को पाने के लिए 'गिट पुल' किया था, और फिर चेरी ने काम किया था। यह त्रुटि इश अनुमान के साथ अधिकांश मुद्दों का समाधान हो सकता है।