Git Rebase और Branch स्विचिंग

रिबेस

Rebase किसी अन्य शाखा से कमिट लागू करके एक शाखा के कमिट इतिहास को बदलने की प्रक्रिया है। merge परिवर्तनों को संयोजित करने के लिए उपयोग करने के बजाय, rebase आपको insert मर्ज कमिट बनाए बिना वर्तमान शाखा के प्रतिबद्ध इतिहास में नई प्रतिबद्धताओं की अनुमति देता है।

उदाहरण के लिए, मान लें कि आपकी दो शाखाएँ हैं: feature-branch और main । आप काम कर रहे हैं और अपनी वर्तमान शाखा feature-branch से नवीनतम प्रतिबद्धताओं को लागू करना चाहते हैं । main इसे प्राप्त करने के लिए आप रिबेस का उपयोग कर सकते हैं:

git checkout feature-branch  
git rebase main  

जब आप यह कमांड चलाएंगे, तो Git कमिट लेगा main और उन्हें लागू करेगा feature-branch । इसका मतलब यह है कि सभी कमिट से feature-branch कमिट के बाद दिखाई देंगे main । इसका परिणाम एक स्वच्छ और अधिक पठनीय प्रतिबद्ध इतिहास है feature-branch

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

 

Branch स्विचन

Git में ब्रांच स्विचिंग एक शाखा से दूसरी शाखा में जाने की प्रक्रिया को संदर्भित करता है। जब आप शाखाएँ बदलते हैं, तो Git HEAD पॉइंटर को नई शाखा में ले जाता है, जिससे आप उस शाखा पर काम कर सकते हैं और अन्य शाखाओं को प्रभावित किए बिना परिवर्तन कर सकते हैं।

उदाहरण के लिए, मान लें कि आपकी शाखाएँ हैं feature-branch और main । पर स्विच करने के लिए feature-branch, आप निम्नलिखित कमांड का उपयोग करेंगे:

git checkout feature-branch

शाखाएँ बदलने के बाद, आप कार्यशील निर्देशिका में परिवर्तन कर सकते हैं। सभी commit, add, और checkout आदेश वर्तमान शाखा पर लागू होंगे।

उदाहरण के लिए, यदि आप एक नई फ़ाइल जोड़ते हैं और इसे कमिट करते हैं feature-branch, तो केवल उस शाखा में कमिट शामिल होगा, जबकि main अप्रभावित रहेगा। यह आपको अलग-अलग सुविधाएँ विकसित करने, बग ठीक करने या कोड के विभिन्न संस्करणों पर स्वतंत्र रूप से काम करने की अनुमति देता है। प्रत्येक शाखा पर अलग से काम करने के लिए जब भी आवश्यकता हो आप शाखाओं के बीच स्विच कर सकते हैं।