2010-11-30 11 views
79

मैंने जिथब पर एक परियोजना को फोर्क किया, कुछ बदलाव किए, अब तक बहुत अच्छा है।दूरस्थ गिट भंडार के साथ सिंक कैसे करें?

इस बीच, भंडार I को बदल दिया गया और मैं उन परिवर्तनों को अपने भंडार में प्राप्त करना चाहता हूं। मैं उसको कैसे करू ?

उत्तर

61

आम तौर पर git pull पर्याप्त है, लेकिन मुझे यकीन है कि क्या लेआउट आपके द्वारा चुनी गई (नहीं कर रहा हूँ या आपके लिए जिथब चुना गया है)।

+3

गिट पुल तब तक काम नहीं करेगा जब तक आप रिमोट को कॉन्फ़िगर नहीं करते हैं और शाखा को विलय करने के लिए कॉन्फ़िगर किया गया है। – Abizern

+0

मुझे लगता है कि "एक कांटा बनाने" चरण के दौरान किया गया था। जब तक यह जानकारी फेंक दी गई, तब भी यह वहां होना चाहिए। –

+0

https के साथ गिट पुल का उपयोग करके काम नहीं किया, लेकिन http के साथ यह किया ... अब मैं अद्यतित हूं, धन्यवाद! –

53

मानते हैं कि उनके अपडेट मास्टर पर हैं, और आप उस शाखा पर हैं जहां आप परिवर्तनों को मर्ज करना चाहते हैं।

git remote add origin https://github.com/<github-username>/<repo-name>.git 
git pull origin master 

भी ध्यान रखें कि आप तो मर्ज भंडार की अपनी प्रतिलिपि को पीछे धकेलने के लिए चाहते हैं:

git push origin master 
+0

काम जोड़ने, खींच :(नहीं किया, मैं https से संबंधित एक त्रुटि मिली https://github.com/mrdoob/three.js.git/info/refs घातक तक पहुंचने के दौरान libcurl में समर्थित या अक्षम नहीं है: HTTP अनुरोध विफल रहा संकेत? –

+0

क्या प्लेटफ़ॉर्म? ऐसा लगता है कि गिट की निर्भरताओं में से एक सह नहीं है mplete। –

+0

आपके आस-पास के काम के रूप में https के बजाए गिट प्रोटोकॉल का भी उपयोग कर सकते हैं, उदा। गिट रिमोट सेट-यूआरएल गिट: //github.com/mrdoob/three.js.git - फिर गिट पुल आज़माएं। –

4

आपको रिमोट के रूप में मूल भंडार (जिसे आपने फोर्क किया था) जोड़ने की आवश्यकता है।

git remote add github (clone url for the orignal repository)

तो फिर आप अपने स्थानीय भंडार

git fetch github

अब आप अपने स्थानीय एक में मूल भंडार की सभी शाखाओं होगा करने के लिए परिवर्तन में लाने की जरूरत है। उदाहरण के लिए, मास्टर शाखा github/master होगी। इन शाखाओं के साथ आप जो कर सकते हैं वह कर सकते हैं। उन्हें अपनी शाखाओं में मर्ज करें

+0

का उपयोग करने पर विचार करें, मैं रिमोट के लिए 'अपस्ट्रीम' नाम का सुझाव देता हूं। – vidstige

+0

@ vidstige जो वास्तव में वर्णनात्मक नहीं है यदि आपके पास एक भंडार के लिए एकाधिक रिमोट हैं।उदाहरण के लिए, मेरे पास अक्सर गिटूब पर रिमोट होता है और ड्रॉपबॉक्स पर रिमोट होता है। – Abizern

+0

अच्छी तरह से, तो यह निश्चित रूप से समझ में आता है। यही कारण है कि उन्हें स्वयं नाम देने की क्षमता बहुत अच्छी है। अपने सेटअप को समझें कि एक रिमोट नामक उत्पत्ति होने से शायद कम आम है जो कि आपका स्वयं का कांटा है और फिर आपके पास मूल है, जिसे आमतौर पर "अपस्ट्रीम" नाम दिया जाता है। – vidstige

38

आपको मूल रेपो को अपस्ट्रीम के रूप में जोड़ना होगा।

यह सब अच्छी तरह से यहाँ वर्णित है: https://help.github.com/articles/fork-a-repo

git remote add upstream https://github.com/octocat/Spoon-Knife.git 
git fetch upstream 
git merge upstream/master 
git push origin master 
-5

Linux के लिए: त्रुटि:: प्रोटोकॉल https

git add * 
git commit -a --message "Initial Push All" 
git push -u origin --all 
+1

यह ओपी की तलाश में क्या था इसके विपरीत है। – Ryan

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