git - क्या होता है जब मैं विकसित शाखा में मूल मास्टर को खींचता हूं?




pull (2)

एक बार जब आप का उपयोग करके आप अपनी शाखा में परिवर्तन करते हैं

git add -A
git commit -m <message>

आप तब कर सकते हैं:

git pull origin master

अपनी शाखा में और वह अपने कमिट्स को मास्टर पुल के ऊपर रखेगा। आपकी शाखा अब मास्टर + के साथ भी शीर्ष पर रहेगी। तो, अब आप कर सकते हैं:

git push

और git आपके बदलावों को आगे बढ़ाएगा, साथ में गुरु आपकी शाखा में प्रवेश करेगा। फिर आप आसानी से उस मास्टर को गीथूब में मिला सकते हैं।

मान लीजिए कि मेरे पास एक निजी विषय शाखा है जिसे 2 मास्टर के साथ विकसित किया गया है।

git pull origin master को git pull origin master क्या करता है?

स्थानीय मास्टर में दूरस्थ मास्टर से सब कुछ खींचो और इसे मर्ज करें? स्थानीय मास्टर शाखा में सब कुछ खींचो और इसे मर्ज करें?

और क्या कोई तरीका है कि बिना git checkout master पहले मास्टर को अपडेट करें?


git pull origin master आपके वर्तमान ब्रांच में मूल नामक रिमोट से मास्टर ब्रांच को खींचता है। यह केवल आपकी वर्तमान शाखा को प्रभावित करता है, न कि आपकी स्थानीय मास्टर शाखा को।

यह आपको इतिहास कुछ इस तरह देगा:

- x - x - x - x (develop)
   \         /
    x - x - x (origin/master)

आपकी स्थानीय मास्टर शाखा इसमें अप्रासंगिक है। git pull अनिवार्य रूप से git fetch और git merge का संयोजन है; यह दूरस्थ शाखा लाती है और फिर इसे आपकी वर्तमान शाखा में मिला देती है। यह किसी अन्य की तरह एक मर्ज है; यह कुछ भी जादुई नहीं करता है।

यदि आप अपनी स्थानीय मास्टर शाखा को अपडेट करना चाहते हैं, तो आपके पास इसे जांचने के अलावा कोई विकल्प नहीं है। एक शाखा में विलय करना असंभव है जिसे बाहर की जाँच नहीं की गई है, क्योंकि मर्ज को निष्पादित करने के लिए गिट को एक कार्य वृक्ष की आवश्यकता है। (विशेष रूप से, मर्ज संघर्षों की रिपोर्ट करने और आपको उन्हें हल करने की अनुमति देने के लिए यह बिल्कुल आवश्यक है।)

यदि आपको पता है कि मास्टर में खींचना एक तेज़-फॉरवर्ड होगा (यानी आपके पास आपकी स्थानीय मास्टर शाखा जो मूल के मास्टर में नहीं है) तो आप काम कर सकते हैं, जैसा कि इस उत्तर में वर्णित है ।





pull