आप git merge master
या तो कर सकते हैं git rebase master
, इस मामले में मैं git rebase पसंद करेंगे ।
क्योंकि git rebase
यह ऐसा बनाता है जैसे कि मास्टर शाखा में परिवर्तन के ऊपर फीचर शाखा में बदलाव किए गए थे, जो संस्करण ग्राफ को सरल बनाता है।
रिबेस
से उदाहरण लें Git रिबेस मैनुअल , git rebase master
शाखा में feature
:
A---B---C feature A'--B'--C' feature
/ --rebase--> /
D---E---F---G master D---E---F---G master
हालांकि, git rebase
केवल तभी उपयुक्त है जब शाखा वितरित नहीं की गई है, या भ्रम और अतिरिक्त काम नीचे की ओर होगा, क्योंकि पुराने ए, बी, सी अब नए कॉमिट ए ', बी', सी ', प्लस एफ द्वारा प्रतिस्थापित किए जाते हैं और जी जो पहले नहीं थे।
git rebase master
शाखा में वास्तविक परिणाम feature
यह है:
( A---B---C )
/
/ A'--B'--C' feature
/ /
D---E---F---G master
रीटेस के बाद कमिट ए, बी, सी लटक रहे हैं, लेकिन फिर से उपलब्ध हैं git reflog feature
।
मर्ज
यदि किसी ने आपकी शाखा को खींच लिया है, या आपने इसे कहीं धकेल दिया है, तो आपको इसके बजाय विलय करना चाहिए, ताकि दूसरे छोर पर भ्रम और अतिरिक्त काम न हो सके। अपस्ट्रीम रिबास से पुनर्प्राप्त देखें ।
यह git merge master
शाखा का परिणाम है feature
:
A---B---C feature A---B---C---M feature
/ --merge--> / ,---’
D---E---F---G master D---E---F---G master
वैकल्पिक रूप से, यदि आप git merge feature
शाखा में हैं master
, तो यह इस तरह दिखेगा:
A---B---C feature A---B---C feature
/ --merge--> / \
D---E---F---G master D---E---F---G---M master