2012-04-17 35 views
9

स्थानीय रूप से remote शाखा बनाये बिना रिमोट रिपोजिटरी को कैसे लाया/चेकआउट करें?रिमोट बनाने के बिना गिट फ़ेच/चेकआउट?

केस का उपयोग करें: मेरे पास गिटहब पर कुछ रेपो है, किसी ने इसे फोर्क किया है और नई सुविधा और पुल अनुरोध शुरू किया है। मैं इसे स्वचालित रूप से विलय नहीं कर सकता क्योंकि कुछ मामूली समस्याएं हैं जिन्हें मैं पहले ठीक करना चाहता हूं।

यह एक बार की गतिविधि है मुझे कभी भी इस रिमोट रिपोजिटरी की आवश्यकता नहीं होगी, इसलिए मैं स्थानीय remote शाखा नहीं बनाना चाहता हूं।

असल में मुझे क्या करना चाहते हैं: दूरस्थ रिपोजिटरी से

  1. प्रतिलिपि फ़ाइलों और मेरे अपने (बिना किसी भी Git से संबंधित जानकारी) को फिर से लिखने।
  2. मेरे वर्तमान सिर के साथ अंतर देखें।
  3. कुछ ठीक करें और इसे प्रतिबद्ध करें।

यह कैसे करें?

git checkout git://github.com/xxx/xxx.git सब पर काम करता है नहीं है (त्रुटि के साथ विफल)

git fetch git://github.com/xxx/xxx.git काम करता है लेकिन कुछ भी

उत्तर

10

आप FETCH_HEAD का उपयोग करना चाहते अपडेट नहीं होता।

जब भी आप git fetch ... चलाते हैं तो FETCH_HEAD नामक एक जादू संदर्भ बनाया जाता है। उदाहरण के लिए

प्रयास करें:

git fetch git://github.com/xxx/xxx.git && git merge FETCH_HEAD 
+2

नहीं है कि 'Git पुल Git के रूप में ही: // github.com/xxx/xxx.git'? –

5

एक और साफ विधि (कम से कम Github से/पर) इस तरह प्राप्त करने में कठिनाई है:

git fetch repo pull/7324/head:pr-7324 

कहाँ: दूरस्थ रेपो को

repo अंक उदाहरण के लिए git://github.com/xxx/xxx.git

pull/7324/head रिमोट पुल अनुरोध है।

pr-7324 स्थानीय पुल-अनुरोध शाखा है।

फिर आप स्थानीय पीआर शाखा का उपयोग जो भी आप चाहते हैं उसे करने के लिए कर सकते हैं।

स्रोत: this discussion से अनुकूलित किया गया।

+0

पुल अनुरोध चेकआउट पर चर्चा की गई थी: // stackoverflow ' Git --no-प्रतिबद्ध [email protected] खींच।com/प्रश्न/6743514/कैसे-कर सकते हैं-ए-लाने-एक-मर्ज ना किए गए-पुल अनुरोध के लिए एक शाखा-ए-न-खुद –

7

किसी भी Git सर्वर के लिए:

git fetch git://host.com/path/to/repo.git remote-branch-name:local-branch-name 
git checkout local-branch-name