2012-12-11 6 views
11

में कांटा पैरेंट से परिवर्तन खींचना आप गिट में एक कांटा के माता-पिता से परिवर्तन कैसे खींचते हैं, खासकर एक जिथब कॉन्फ़िगर किए गए प्रोजेक्ट में?गिट

उदाहरण के लिए, कहते हैं कि मैं http://github.com/myuser/myproject में http://github.com/originaluser/originalproject काँटेदार। मैं एक स्थायी कांटा होने पर अपने प्रोजेक्ट पर योजना नहीं बना रहा हूं, क्योंकि मैं केवल कुछ प्रायोगिक विशेषताओं का परीक्षण करने के लिए "देव" शाखा को बनाए रखना चाहता हूं, और फिर अंत में इसे मूल परियोजना में वापस विलय करना चाहता हूं।

इस तरह, जब भी मूल प्रोजेक्ट में किया जाता है, तो मैं उन्हें नीचे खींचने और उन्हें अपने प्रोजेक्ट के साथ मर्ज करने में सक्षम होना चाहता हूं। हालांकि, मैं भी अपने प्रोजेक्ट में बदलावों को धक्का देने में सक्षम होना चाहता हूं, लेकिन जब तक मेरी शाखा पूरी नहीं होती है और परीक्षण नहीं किया जाता है तब तक उन्हें मूल प्रोजेक्ट में विलय करने के लिए तुरंत एक पुल अनुरोध नहीं बनाते हैं। ऐसा करने का सबसे अच्छा तरीका क्या है?

संपादित करें: डिफ़ॉल्ट रूप से, जब मैं स्थानीय विकास के लिए अपने जिथब कांटा का स्थानीय चेकआउट/कांटा बनाता हूं, और फिर परिवर्तनों को पुश/खींचता हूं, तो ये परिवर्तन केवल मेरे व्यक्तिगत कांटा को प्रभावित करते हैं। मुझे मूल परियोजना से कभी भी बदलाव नहीं मिलते हैं। मुझसे इसका समाधान किस प्रकार होगा?

किसी भी गलत गिट शब्दावली के लिए खेद है।

+0

आपने वर्णन किया है कि आप क्या करना चाहते हैं, जो ठीक है, लेकिन मुझे यहां हल करने की कोई समस्या नहीं दिख रही है। क्या यह आपके लिए काम नहीं कर रहा है? –

+0

@ ग्रेगहेविल, नहीं। मैंने अपनी समस्या को स्पष्ट करने के लिए अपना प्रश्न संपादित कर लिया है। – Cerin

उत्तर

8

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

git remote add upstream ... 

की तरह कुछ और फिर तुम सिर्फ Git प्राप्त कर सके किसी भी परिवर्तन को देखने के लिए और फिर rebase/मर्ज ... जो कुछ भी।

+1

मैं यह कैसे कर सकता हूं? – Cerin

+2

अपने कांटा (myuser/myproject) को क्लोन करें, इसमें सीडी करें और फिर गिट रिमोट को अपस्ट्रीम https://github.com/originaluser/originalproject.git टाइप करें और फिर गिट फ़ेच टाइप करें। उसके बाद आपके पास मास्टर (आपकी स्थानीय मास्टर शाखा), मूल/मास्टर (आपकी निकासी मास्टर शाखा) और अंततः अपस्ट्रीम/मास्टर (मूलप्रोजेक्ट का मास्टर) होना चाहिए जिससे आप अपने भंडार में परिवर्तन खींच सकें। –

+0

आपको 'गिट फ़ेच' पर नया रिमोट निर्दिष्ट करने की भी आवश्यकता है, अन्यथा यह इसे प्राप्त नहीं करता है: 'गिट फ़ेच अपस्ट्रीम' चाल करता है। – Kev