git pull VS git fetch git rebase -
ने कहा कि git pull
एक git fetch
+ Git मर्ज
।
लेकिन git pull
वीएस git fetch
+ git rebase
के बीच क्या अंतर है?
यह आपके प्रश्न से बहुत स्पष्ट होना चाहिए कि आप वास्तव में केवल जीआईटी मर्ज
और जीआईटी रिबेस
।
तो मान लें कि आप आम मामले में हैं - आपने अपने मास्टर ब्रांच पर कुछ काम किया है, और आप मूल से खींचते हैं, जिसने कुछ काम भी किए हैं। लाने के बाद, चीजें इस तरह दिखती हैं:
- ओ - ओ - ओ - एच - ए - बी - सी (मास्टर) \ पी - क्यू - आर (मूल / मास्टर)
यदि आप इस बिंदु पर विलय करते हैं (गिट खींचने का डिफ़ॉल्ट व्यवहार), मान लें कि कोई भी संघर्ष नहीं है, तो आप इसके साथ समाप्त होते हैं:
- o - ओ - ओ - एच - ए - बी - सी - एक्स (मास्टर) \ / पी - क्यू - आर --- (मूल / मास्टर)
यदि आप दूसरी तरफ उचित रिबेस, आप इस के साथ समाप्त होगा:
- ओ - ओ - ओ - एच - पी - क्यू - आर - ए '- बी' - सी '(मास्टर) | (मूल / मास्टर)
अपने काम के पेड़ की सामग्री दोनों मामलों में एक ही समाप्त होनी चाहिए; आपने अभी तक एक अलग इतिहास बना लिया है रिबेस आपके इतिहास को फिर से लिखता है, ऐसा लगता है जैसे आपने मूल रूप से प्रतिबद्ध ( एच
) के बजाय मूल के नए मास्टर शाखा ( R
) के शीर्ष पर किया था। अगर किसी और ने आपके मास्टर ब्रांच से पहले ही खींच लिया हो, तो आपको रिबेस दृष्टिकोण का उपयोग कभी नहीं करना चाहिए।
अंत में, ध्यान दें कि आप कॉन्फ़िगरेशन पैरामीटर branch। & Lt; name & gt; सेट करके विलय के बजाए रिज़बेस का उपयोग करने के लिए दी गई शाखा के लिए वास्तव में सेट कर सकते हैं
को सही पर आप इसे git pull
। रीबेस git pull --rebase
।
Comments
Post a Comment