2012-01-17 12 views
21

मैं अपने आईओएस एक्सकोड प्रोजेक्ट में NSDate-Extensions प्लगइन का उपयोग कर रहा हूं। मास्टर रेपो जो दो पुल अनुरोध में तय किया जा रहा है कुछ त्रुटियां हैं:गिटहब: स्थानीय रेपो में खुले पुल अनुरोध कैसे जोड़ें?

ये अनुरोध अभी भी खुला और मास्टर रेपो को स्वीकार नहीं कर रहे हैं। मैं इसे अपने स्थानीय रेपो में गिट-वे में कैसे जोड़ सकता हूं? अगर उनके कांटा बाद में अद्यतन हो जाता है अपने स्थानीय रेपो, अद्यतन हो जाता है, तो यह ठीक होगा:

+0

संभव डुप्लिकेट की (http://stackoverflow.com/questions/6022302/pull-requests-from-other-forks-into-my-fork) – CharlesB

+0

संभव डुप्लिकेट [ गिट: मैं एक शाखा के लिए एक अनमोल पुल अनुरोध कैसे प्राप्त कर सकता हूं जिसका मेरे पास स्वामित्व नहीं है?] (http://stackoverflow.com/questions/6743514/git-how-can-i-fetch-an-unmerged-pull-request -for-a-branch-i-dont-own) –

उत्तर

16

पुल url के अंत में एक .patch जोड़ें - आप डाउनलोड कर सकते हैं और अपने रेपो पर पैच लागू:

curl https://github.com/erica/NSDate-Extensions/pull/6.patch | git am 
+0

'git am' क्या कर रहा है? – dhrm

+0

'git am'' curl' कमांड द्वारा पाइप की गई पैच फ़ाइल लागू करता है। –

+0

उपर्युक्त आदेश करने के बाद, पैच सफलतापूर्वक लागू होता है, लेकिन जब मैं 'गिट स्थिति' चला रहा हूं तो यह कहता है कि इसमें कोई बदलाव नहीं है। यह पैच मेरे स्थानीय रेपो को क्यों बदल सकता है और अभी भी कह सकता है कि कोई बदलाव नहीं है? – dhrm

12

आप कांटे कि पुल अनुरोध की पेशकश जोड़ना चाहिए, और उन्हें एक रिमोट के रूप में जोड़ें:

  • व्यक्ति लिंक योगदान का पता लगाएं (सामान्य रूप से सिर्फ SHA1 हैश क्लिक करें)

  • करो की तरह कुछ:

    git remote add githubuser theirgithubfork.git

तो आप आसानी से नीचे उनके परिवर्तन खींच कर सकते हैं:

  • git fetch githubuser

आसानी से एक पूरा उदाहरण के लिए के साथ "

  • git cherry-pick thesha1fromthepullrequest

व्यक्ति प्रतिबद्ध ले, कल्पना this pull request (6bbbcc5) from RogerE on the Ruby Capistrano project

$ git clone [email protected]:capistrano/capistrano.git 
$ cd capistrano 
$ git remote add RogerE https://github.com/RogerE/capistrano.git 
$ git fetch RogerE 
$ git cherry-pick 6bbbcc5
+0

तो मुझे एरिका से मूल रेपो क्लोन करना चाहिए, और रिकार्डो 1 9 80 द्वारा दोनों कांटे के लिए "गिट रिमोट एड" चलाएं और ऊंचा हो जाएं? क्या होगा यदि मैं बाद में "गिट पुल" बनाउंगा, तो क्या यह सिर्फ मूल रेपो से खींच जाएगा - या दो रिमोट्स के अपडेट भी खींचे जाएंगे? – dhrm

+0

आप दोनों क्यों एक fetch और बाद में एक चेरी लेने के लिए कर रहे हैं? रिचॉर्ट से सभी को नीचे खींच नहीं लेना चाहिए? – dhrm

+0

'गिट पुल' मूल रेपो से खींच जाएगा। रिमोट नाम और रेफस्पेक निर्दिष्ट करके आप कौन से रेपो को खींचने के लिए निर्दिष्ट कर सकते हैं। जैसे 'गिट खींच रोजरई मास्टर'। –

-2

आप इस तरह विशिष्ट पुल अनुरोध खींच कर सकते हैं:

git pull https://github.com/erica/NSDate-Extensions/pull/6 
git pull https://github.com/erica/NSDate-Extensions/pull/7 

imo इस जोड़ने से बहुत आसान है एक दूरस्थ कर्ल के माध्यम से या पाइपिंग (खासकर जब यह सिर्फ एक बंद फिक्स है)।

+0

विचार सही है, लेकिन यह इस तरह काम नहीं करता है, जो संभावित रूप से डाउनवोट का कारण है। मैंने http://stackoverflow.com/a/18096344/1904815 पर एक ही विचार के साथ एक कामकाजी उत्तर जोड़ा) – JonnyJD

14

आप जोड़ने रिमोट बिना कमांड लाइन से अनुरोध खींच कर सकते हैं:

git pull https://github.com/erica/NSDate-Extensions +refs/pull/6/head 

आप पहले से ही सुनिश्चित करें कि आप कि, तो आप के साथ पहली बार है कि शाखा की जाँच करने के लिए चाहते हो सकता है क्या करना चाहते हैं नहीं कर रहे हैं:

git fetch https://github.com/erica/NSDate-Extensions +refs/pull/6/head:refs/origin/pull/6 

पैच फ़ाइलों का उपयोग करने की तुलना में इसका लाभ यह है कि गिट वास्तविक काम करता है। तो गिट देख सकता है जब मास्टर को पुल अनुरोध में पहले विलय कर दिया गया था।पैच फ़ाइल इस तरह के मतभेदों से पूरी तरह से अनजान है। [मेरे कांटा में अन्य कांटे से पुल अनुरोध] के

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