git एक और भंडार से पुल खींचो



version-control repository (1)

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

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

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

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


अपने Acme रेपो में निम्न आदेश जारी करें। यह एक नया रिमोट रिपॉजिटरी है जो upstream नाम का है जो Generic रेपो को इंगित करता है।

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

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

git pull upstream

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

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

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

यदि आप upstream को पुश करने की कोशिश कर रहे हैं (और रिक्रॉल के बारे में खेद है, लेकिन यह मेरे सिर में पॉप करने वाला पहला रैंडम स्ट्रिंग था) तो गैट अब आपके बारे में चिल्लाएगा।





dvcs