Git में एक शाखा से दूसरी शाखा में परिवर्तन कैसे खींचे?

How Pull Changes From One Branch Another Git



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

आवश्यक शर्तें

1. गिटहब डेस्कटॉप स्थापित करें
GitHub डेस्कटॉप git उपयोगकर्ता को git से संबंधित कार्यों को ग्राफिक रूप से करने में मदद करता है। आप उबंटू के लिए इस एप्लिकेशन के नवीनतम इंस्टॉलर को github.com से आसानी से डाउनलोड कर सकते हैं। आपको इस एप्लिकेशन को डाउनलोड करने के बाद इसे उपयोग करने के लिए इंस्टॉल और कॉन्फ़िगर करना होगा। स्थापना प्रक्रिया को ठीक से जानने के लिए आप उबंटू पर गिटहब डेस्कटॉप स्थापित करने के लिए ट्यूटोरियल भी देख सकते हैं।







2. एक गिटहब खाता बनाएं
स्थानीय रिपोजिटरी के परिवर्तन को प्रकाशित करने के बाद रिमोट रिपोजिटरी के रूप की जांच करने के लिए आपको एक गिटहब खाता बनाना होगा।



3. एक स्थानीय भंडार बनाएँ
इस ट्यूटोरियल में प्रयुक्त कमांड्स की जांच करने के लिए आपको एक स्थानीय रिपॉजिटरी बनानी होगी।



स्टैश कमांड का उपयोग

नाम का स्थानीय भंडार PHP2 इस ट्यूटोरियल में यह दिखाने के लिए उपयोग किया गया है कि रिपोजिटरी की एक शाखा से दूसरी शाखा में परिवर्तन कैसे करें। नाम की एक फाइल बनाएं index.html भंडार में। टर्मिनल खोलें और रिपॉजिटरी फोल्डर में जाएं। शाखा सूची की जाँच करने के लिए निम्नलिखित कमांड चलाएँ, मास्टर शाखा में जाएँ, और शाखा की स्थिति प्रदर्शित करें।





$ गिट शाखा
$ git चेकआउट मास्टर
$ गिट स्थिति

उपरोक्त आदेश को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। आउटपुट से पता चलता है कि रिपॉजिटरी में दो शाखाएँ हैं, और मुख्य शाखा शुरू में सक्रिय थी। में स्विच करने के बाद गुरुजी शाखा, स्थिति के आउटपुट से पता चलता है कि वर्तमान शाखा सक्रिय है और index.html फ़ाइल ट्रैक नहीं की गई है।



ट्रैक न की गई फ़ाइल को ट्रैक करने के लिए निम्न कमांड चलाएँ और फिर से git रिपॉजिटरी की स्थिति की जाँच करें।

$ git index.html जोड़ें
$ गिट स्थिति

उपरोक्त आदेशों को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। स्थिति के आउटपुट से पता चलता है कि index.html फ़ाइल को रिपॉजिटरी में जोड़ा जाता है लेकिन उसे प्रतिबद्ध करने की आवश्यकता होती है।

निम्नलिखित कमांड चलाएँ और फिर से git रिपॉजिटरी की स्थिति की जाँच करें। `गिट स्टैश` कमांड `गिट कमिट` कमांड की तरह काम करता है। इस कमांड को निष्पादित करने के बाद रिपॉजिटरी की कार्यशील निर्देशिका को साफ कर दिया जाएगा।

$ git स्टाश
$ गिट स्थिति

निम्न आउटपुट उपरोक्त आदेशों को निष्पादित करते हुए दिखाई देगा।

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

$ git चेकआउट मुख्य
$ गिट स्टैश पॉप

उपरोक्त कमांड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा जो दर्शाता है कि वर्तमान शाखा है मुख्य और यह index.html फ़ाइल इस शाखा में जोड़ा गया है।

पिछले कार्य को प्रतिबद्ध संदेश के साथ करने के लिए निम्न आदेश चलाएं और स्थिति को दोबारा जांचें।

$ git कमिट-एम 'इंडेक्स फाइल जोड़ी गई'
$ गिट स्थिति

उपरोक्त आदेशों को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। स्थिति के आउटपुट से पता चलता है कि काम करने वाला पेड़ अब प्रतिबद्ध होने के बाद साफ है।

यदि स्थानीय रिपॉजिटरी परिवर्तन को दूरस्थ रिपॉजिटरी में धकेल दिया जाता है, और दूरस्थ रिपॉजिटरी को github.com से खोला जाता है, तो रिपॉजिटरी निम्न छवि की तरह दिखाई देगी।

मर्ज कमांड का उपयोग

इस ट्यूटोरियल का यह भाग परिवर्तनों को एक शाखा से दूसरी शाखा में खींचने का दूसरा तरीका दिखाता है। नाम का स्थानीय भंडार रीड-फाइल यहाँ प्रयोग किया है। रिपॉजिटरी लोकेशन में read.php नाम की फाइल बनाएं। मास्टर शाखा में स्विच करने के लिए निम्न आदेश चलाएँ, read.php फ़ाइल जोड़ें और कार्य करें। शाखा आदेश शाखा सूची प्रदर्शित करेगा। चेकआउट कमांड शाखा को मास्टर में बदल देगा। स्टेटस कमांड शाखा की वर्तमान स्थिति प्रदर्शित करेगा। ऐड कमांड अनट्रैक की गई फाइल को रिपॉजिटरी में जोड़ देगा। प्रतिबद्ध आदेश कार्य की पुष्टि करेगा।

$ गिट शाखा
$ git चेकआउट मास्टर
$ गिट स्थिति
$ git read.php जोड़ें
$ git कमिट-एम 'पढ़ें स्क्रिप्ट जोड़ा गया है'

उपरोक्त आदेशों को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। read.php फ़ाइल को रिपॉजिटरी की मास्टर शाखा में जोड़ा गया है, और कार्य भी प्रतिबद्ध है।

उपरोक्त कार्य को पूरा करने के बाद यदि परिवर्तन गुरुजी शाखा में स्थानांतरण की आवश्यकता है मुख्य शाखा, फिर विलय इस कार्य को करने के लिए कमांड का उपयोग किया जा सकता है। मर्ज कमांड का उपयोग टर्मिनल से या GitHub डेस्कटॉप एप्लिकेशन का उपयोग करके किया जा सकता है। शाखाओं को मर्ज करने के लिए गिटहब डेस्कटॉप का उपयोग करने का तरीका ट्यूटोरियल के इस भाग में दिखाया गया है। GitHub डेस्कटॉप में स्थानीय रिपॉजिटरी खोलें। क्लिक करके शाखा सूची संवाद बॉक्स खोलें शाखाओं की सूची से राय मेनू और चुनें मुख्य सक्रिय शाखा के रूप में शाखा। अब, पर क्लिक करें वर्तमान शाखा में विलय... से डाली मेन्यू। को चुनिए गुरुजी डायलॉग बॉक्स से ब्रांच करें और पर क्लिक करें मास्टर को मुख्य में मिलाएं के परिवर्तन खींचने के लिए बटन गुरुजी शाखा में मुख्य डाली। आप हटा सकते हैं गुरुजी शाखा को मर्ज ऑपरेशन पूरा करने के बाद शाखा को भंडार की आवश्यकता नहीं है।

निष्कर्ष

एक शाखा से दूसरी शाखा में परिवर्तनों को खींचने के दो अलग-अलग तरीके इस ट्यूटोरियल में दो डेमो स्थानीय रिपॉजिटरी का उपयोग करके दिखाए गए हैं। NS छिपाने की जगह तथा जाओ कार्य करने के लिए यहां git के कमांड का उपयोग किया गया है। इस ट्यूटोरियल में गिटहब डेस्कटॉप का उपयोग शाखाओं को ग्राफिक रूप से मर्ज करने का तरीका दिखाने के लिए किया गया है।