एक और रिपॉजिटरी से गिट पुल


95

मेरे पास एक रिपॉजिटरी कहा जाता है Generic, जो एक सामान्य एप्लिकेशन है। मैंने इसे एक रिपॉजिटरी कहा जाता है Acme, जो कि सिर्फ स्टोर किए गए Genericरिपॉजिटरी में जमा हो जाती है और इसमें Acme Co की ब्रांडिंग जोड़ दी है।

अगर मैं कोर कार्यक्षमता में परिवर्तन करता हूं, तो मैं कोर में कार्यक्षमता के लिए किए गए नवीनतम परिवर्तनों के साथ रिपॉजिटरी Genericको अपडेट करना चाहता हूं । मुझे यह कैसे करना है?AcmeGeneric

जहां तक ​​मैं बता सकता हूं, मैं अनिवार्य रूप से वर्तमान कांटे में एक अपस्ट्रीम रिपॉजिटरी में किए गए परिवर्तनों को मर्ज करने की कोशिश कर रहा हूं।

अगर इसका कोई मतलब है, तो मैं ऐसा करने की कोशिश कर रहा हूं, क्योंकि मेरे पास एक जेनेरिक एप्लिकेशन है जिसे मैं व्यक्तिगत क्लाइंट्स के लिए बनाता हूं और ब्रांड बनाता हूं (जैसे Acmeइस उदाहरण में)। यदि ऐसा करने का कोई क्लीनर तरीका है, तो मुझे बताएं।

जवाबों:


135

अपने Acmeरेपो में निम्न आदेश जारी करें । यह नाम की एक नई दूरस्थ भंडार कहते upstreamहै कि अंक Genericरेपो।

git remote add upstream https://location/of/generic.git

फिर आप निम्न कमांड के साथ Genericवर्तमान शाखा में किए गए किसी भी परिवर्तन को मर्ज कर सकते हैं Acme:

git pull upstream

यदि आप चाहते हैं कि यह स्वचालित रूप से विलय के बिना परिवर्तनों को डाउनलोड करें, git fetchइसके बजाय का उपयोग करें git pull

यदि आप उस रिपॉजिटरी में पुश करना अक्षम करना चाहते हैं, तो पुश URL को अमान्य URL पर सेट करें जैसे कुछ का उपयोग कर

git config remote.upstream.pushurl "NEVER GONNA GIVE YOU UP"

अगर आप धक्का देने की कोशिश नहीं कर रहे हैं upstream(और रिक्रॉल के बारे में खेद है, लेकिन यह पहला यादृच्छिक स्ट्रिंग है जो मेरे सिर में आया)


6
उत्कृष्ट धन्यवाद। बस एक और बात: क्या कोई ऐसा तरीका है जिससे मैं इस रिमोट को केवल पढ़ सकता हूं, इसलिए मैं गलती से इसे धक्का नहीं देता?
Libbux

1
मैंने जवाब देना शुरू कर दिया, लेकिन मुझे लगता है कि मैक्लोविन ने पहले ही अपने जवाब को संपादित कर लिया था।
फ्रेंकी साइमन

4
2.9 git के बाद से, आपको --allow-unrelated-histories ध्वज को निर्दिष्ट करना होगा। देखें stackoverflow.com/a/37938036/3799847
sfinks_29

5
मुझे जारी करने की आवश्यकता थीgit pull --allow-unrelated-histories upstream master
एलेक जैकबसन

मैंने कोशिश की कि लेकिन git pull upstreamसिर्फ लटका ... कोई विचार?
पाउलो कार्वाल्हो

6

विभिन्न रेपो से किसी विशेष शाखा को खींचने के लिए आप नीचे दिए गए कमांड का उपयोग कर सकते हैं।

git pull <git_url> <branch> --allow-unrelated-histories
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.