मान लीजिए कि मैंने origin/masterकमिट किया A--B--Cऔर मैंने local/masterकमिट किया A--B--D।
अगर मैं उपयोग git pull --rebaseकरूँ तो क्या होगा ?
अगर मैं उपयोग git pull --ff-onlyकरूँ तो क्या होगा ?
क्या परिणामी पेड़ में कोई अंतर है?
जवाबों:
अगर मैं git पुल --rebase का उपयोग करूँ तो क्या होगा?
git pull --rebase के बराबर है
git fetch
git rebase origin/master
यानी Cस्थानीय परिवर्तनों ( D) से पहले आपके दूरस्थ परिवर्तन ( ) लागू किए जाएंगे , जिसके परिणामस्वरूप निम्नलिखित पेड़ होंगे
A -- B -- C -- D
अगर मैं git पुल --ff-only का उपयोग करूँ तो क्या होगा?
यह विफल हो जाएगा।
git pull --ff-only से मेल खाती है
git fetch
git merge --ff-only origin/master
--ff-onlyदूरस्थ परिवर्तनों को तभी लागू करता है जब वे तेजी से अग्रेषित किए जा सकें। आदमी से:
एक गैर-शून्य स्थिति के साथ विलय करने और बाहर निकलने से इनकार करें जब तक कि वर्तमान HEAD पहले से अद्यतित न हो या विलय तेजी से आगे के रूप में हल किया जा सके
चूँकि आपकी स्थानीय और दूरस्थ शाखाओं ने मोड़ दिया है, इसलिए वे एक तेज़-फ़ॉरवर्ड द्वारा हल नहीं किए जा सकते और git pull --ff-onlyविफल हो जाएंगे।
A--B--C।
git pull --rebase --ff-only? (यह मानते हुए कि C & D हैं)
pullमर्ज कमिट परिचय कर सकते हैं, जबकि आप केवल रिबास और एफएफ के साथ काम करना पसंद कर सकते हैं।
Dस्थानीय परिवर्तन में कोई प्रतिबद्धता नहीं है तो क्या होगा ? क्या दोनों कमांड समतुल्य होंगे?