मास्टर शाखा को अपस्ट्रीम में कैसे वापस लाएं


145

मैंने एक गिट रिपॉजिटरी और सेटअप अपस्ट्रीम को फोर्क किया है। मैंने मास्टर ब्रांच में कुछ बदलाव किए हैं और प्रतिबद्ध और जीथब पर धकेल दिया है।

अब मुझे मास्टर शाखा में अपने सभी परिवर्तनों को त्यागने और अपस्ट्रीम की मास्टर शाखा के समान बनाने के लिए क्या करना चाहिए?

जवाबों:


277

(मैं मान रहा हूं कि अब आप जिन परिवर्तनों को अनदेखा करना चाहते हैं, वे आपके originरिमोट पर हैं, आप अपनी masterशाखा पर हैं, और आप upstreamरिमोट की सामग्री पर वापस जाना चाहते हैं )

सबसे पहले, अपस्ट्रीम मास्टर के लिए अपनी वर्किंग कॉपी रीसेट करें:

git remote update
# the double hyphen ensures that upstream/master is
# considered as a revision and not confused as a path
git reset --hard upstream/master --

फिर इस नए ब्रांच-हेड को अपने मूल रिपॉजिटरी में धकेलें, इस तथ्य की अनदेखी करते हुए कि यह तेजी से आगे नहीं होगा:

git push origin +master

14
git remote add upstream <upstream_repo_url>यदि आपको GitHub का उपयोग करके शाखा को फोर्क करना है तो भी चलाने की आवश्यकता हो सकती है।
काटो

3
का अर्थ क्या है +में git push origin +master? क्या यह भी वैसा ही है git push origin master?
bluenote10

4
@ bluenote10 वे समान नहीं हैं। यह +वही है जो "[उपेक्षा] इस तथ्य को बताता है कि यह एक फास्ट-फॉरवर्ड नहीं होगा"। यह एक सा करने जैसा है git push --force, लेकिन यह केवल उस विशिष्ट रेफ पर लागू होता है।
निकरिम

1
मेरे लिए काम नहीं किया। मेरे पास एक जीआईटी का दर्जा था, उसके बाद जो आइटम संशोधित किए गए हैं। मैं मिटा और शुरू करने जा रहा हूँ। समझ पाना बेहद मुश्किल है।
मिच

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