2012-02-05 23 views
82

मैंने गिटहब पर एक रेपो से फोर्क किया है। मैं किसी अन्य उपयोगकर्ता के कांटे पर एक शाखा से कोड प्राप्त करना चाहता हूं।मैं गिटहब पर किसी और के कांटा पर शाखा कैसे लाऊं?

क्या मुझे इस उपयोगकर्ता के पूरे रेपो को एक अलग स्थानीय रेपो में क्लोन करना चाहिए या क्या मैं git checkout link_to_the_other_users_branch जैसे कुछ कर सकता हूं?

+1

उस Git के लिए देख रहे "रिमोट": http://progit.org/book/ch2- 5.html – millimoose

उत्तर

146
$ git remote add theirusername [email protected]:theirusername/reponame.git 
$ git fetch theirusername 
$ git checkout -b mynamefortheirbranch theirusername/theirbranch 

ध्यान दें कि कई "सही" यूआरआई हैं जिन्हें आप रिमोट के लिए उपयोग कर सकते हैं जब आप इसे पहले चरण में जोड़ते हैं। GitHub एक सहायता लेख अंतर समझा और आप मदद कर दिया गया है:

  • [email protected]:theirusername/reponame.git एक SSH आधारित यूआरआई
  • https://github.com/theirusername/reponame.git एक HTTP यूआरआई

आप कौन-सी अपनी स्थिति पर निर्भर करेगा का उपयोग करना पसंद है चुनें: Which remote URL should I use?

+0

वह अंतिम पंक्ति क्या करती है? –

+2

अंतिम पंक्ति 'mynamefortheirbranch' नामक एक नई शाखा की जांच करती है, जिसका प्रारंभ बिंदु' उनके उपयोगकर्ता नाम/उनके ब्रांच 'के सिर पर सेट होता है। –

+2

मुझे * घातक मिलता है: पथ अपडेट नहीं कर सकते हैं और एक ही समय में शाखा 'xyz' पर स्विच कर सकते हैं। क्या आप 'xyz/xyz' को चेकआउट करना चाहते हैं जिसे प्रतिबद्ध के रूप में हल नहीं किया जा सकता है? * –

11

amalloy's suggestion मेरे लिए काम नहीं किया। यह आपने क्या किया:

git remote add theirusername https://github.com/theirusernam/reponame 
git fetch theirusername 
git checkout -b mynamefortheirbranch theirusername/theirbranch 

संसाधन:

+0

मेरा मानना ​​है कि आप अपनी पहली पंक्ति के अंत में '.git' खो रहे हैं। – TomNorway

+0

@TomNorway क्या आप निश्चित हैं? क्या यह आपके लिए काम नहीं करता है? –

+0

@TomNorway मैंने इसका परीक्षण किया और यह '.git' एक्सटेंशन के बिना काम करता है। क्या आप गिटहब का उपयोग करते हैं? –