रिमोट गिट रिपॉजिटरी के साथ कैसे सिंक करें?


93

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

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

जवाबों:


77

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


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

मैं मान रहा हूं कि "एक कांटा बनाने" के चरण के दौरान किया गया था। जब तक इस जानकारी को फेंक नहीं दिया गया था, तब भी यह होना चाहिए।
Šमोन तोथ

https के साथ git खींचने का काम नहीं किया, लेकिन http के साथ यह किया ... अब मैं अद्यतित हूं, धन्यवाद!
जॉर्ज प्रोफेंजा 11

@GeorgeProfenza यह सुरक्षित नहीं है। उपयोग करने पर विचार करेंssh
JVE999

65

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

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

यह भी ध्यान दें कि आप मर्ज को अपनी रिपॉजिटरी की कॉपी पर वापस धकेलना चाहेंगे:

git push origin master

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

क्या मंच? ऐसा लगता है कि गिट की निर्भरता में से एक पूरा नहीं है।
मार्क हिब्बर्ड

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

osx पर चल रहा है। मैंने इसे जीआईटी पुल github.com/mrdoob/three.js.git मास्टर का उपयोग करके प्राप्त करने का प्रबंधन किया
जॉर्ज प्रोफेनो

3
आदेशों में गलत वर्तनी, मुझे लगता है, आप के साथ शुरू originalहै, तो करने के लिए स्विचorigin
Benjol

46

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

यह सब यहाँ अच्छी तरह से वर्णित है: 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

आपको मूल रिपॉजिटरी (एक जिसे आपने कांटा था) को रिमोट के रूप में जोड़ना होगा।

जीआईटी रिमोट जोड़ जीथुब (ओरिजिनल रिपॉजिटरी के लिए क्लोन यूआरएल)

फिर आपको अपने स्थानीय भंडार में परिवर्तन लाने की आवश्यकता है

git fetch जीथब

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


1
मैं upstreamरिमोट के लिए नाम सुझाता हूं ।
vidstige

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

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

-8

लिनक्स के लिए:

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

3
यह वही है जो ओपी की तलाश में था।
रयान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.