"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > अपना काम खोए बिना Git में शाखाएँ बदलें

अपना काम खोए बिना Git में शाखाएँ बदलें

2024-11-06 को प्रकाशित
ब्राउज़ करें:197

Switch Branches in Git Without Losing Your Work

डेवलपर्स के रूप में, हम अक्सर खुद को ऐसी स्थितियों में पाते हैं जहां हम किसी फीचर को गहराई से कोड करने में लगे होते हैं, तभी अचानक कोई जरूरी मुद्दा हमारे तत्काल ध्यान की मांग करता है। इसे संबोधित करने के लिए, हमें Git में शाखाएँ स्विच करने की आवश्यकता है। हालाँकि, ऐसा करना जोखिम भरा हो सकता है यदि हमने अभी तक अपने वर्तमान परिवर्तन नहीं किए हैं। हम अपना काम खो सकते हैं या विलय संबंधी विवादों का सामना कर सकते हैं।

इस पोस्ट में, मैं आपको आपके परिवर्तनों को खोए बिना Git में शाखाएं बदलने के लिए दो प्रभावी रणनीतियों के बारे में बताऊंगा।

परिदृश्य को समझना

कल्पना करें कि आप अपनी वर्तमान शाखा में एक नई सुविधा पर काम कर रहे हैं। आपने कई परिवर्तन किए हैं, लेकिन आपने अभी तक उन्हें प्रतिबद्ध नहीं किया है. अचानक, आपको किसी अन्य शाखा में बग ठीक करने का अनुरोध प्राप्त होता है। दुविधा: आप अपने द्वारा किए गए परिवर्तनों को खोए बिना समस्या का समाधान करने के लिए दूसरी शाखा में कैसे स्विच करते हैं?

इस स्थिति को सुचारू रूप से संभालने के लिए Git कुछ शक्तिशाली उपकरण प्रदान करता है: git stash और एक अस्थायी शाखा बनाना।

समाधान 1: गिट स्टैश का उपयोग करना

गिट स्टैश क्या है?

गिट स्टैश एक कमांड है जो आपको अपने परिवर्तनों को बिना प्रतिबद्ध किए अस्थायी रूप से सहेजने (या "स्टैश") करने की अनुमति देता है। यह तब उपयोगी होता है जब आपको शाखाएँ बदलने की आवश्यकता होती है लेकिन बाद में बिना कुछ खोए अपने वर्तमान कार्य पर वापस आना चाहते हैं।

गिट स्टैश का उपयोग कैसे करें

यहां बताया गया है कि आप अपने परिवर्तनों को कैसे छिपा सकते हैं:

  1. अपने परिवर्तन छिपाएँ:
    अपने परिवर्तनों को छिपाने के लिए निम्न आदेश चलाएँ:

    git stash
    

    यह कमांड आपके अप्रतिबद्ध परिवर्तनों को सहेजता है और अंतिम प्रतिबद्धता से मेल खाने के लिए आपकी कार्यशील निर्देशिका को रीसेट करता है।

  2. अन्य शाखा पर स्विच करें:

अब जब आपकी कार्यशील निर्देशिका साफ़ हो गई है, तो आप सुरक्षित रूप से दूसरी शाखा में स्विच कर सकते हैं:

    git checkout 

अत्यावश्यक समस्या को आवश्यकतानुसार अन्य शाखा में ठीक करें।

  1. अपने छुपाए गए परिवर्तनों को पुनर्स्थापित करें:

एक बार जब आप समस्या का समाधान कर लें, तो अपनी मूल शाखा में वापस जाएँ:

    git checkout 

फिर, अपने संग्रहीत परिवर्तनों को यहां पुनर्स्थापित करें:

    git stash pop

यह कमांड स्टैश किए गए परिवर्तनों को आपकी कार्यशील निर्देशिका में वापस लागू करता है और स्टैश को आपकी स्टैश सूची से हटा देता है।

उदाहरण वर्कफ़्लो

मान लें कि आप फीचर-शाखा में एक फीचर पर काम कर रहे हैं, और आपको मास्टर में एक बग को ठीक करने का अनुरोध प्राप्त होता है:

  1. गिट स्टैश का उपयोग करके अपने परिवर्तन सहेजें:

    गिट स्टैश

  2. मास्टर शाखा पर स्विच करें:

    गिट चेकआउट मास्टर

  3. मास्टर में बग को ठीक करें और अपने परिवर्तन करें।

  4. फ़ीचर-शाखा पर वापस जाएँ:

    गिट चेकआउट सुविधा-शाखा

  5. अपने संग्रहीत परिवर्तन पुनर्स्थापित करें:

    गिट स्टैश पॉप

अब, आप अपने सभी परिवर्तनों के साथ, वहीं वापस आ गए हैं जहां आपने छोड़ा था।

समाधान 2: अपने परिवर्तनों को एक अस्थायी शाखा को सौंपना

दूसरा तरीका यह है कि आप अपने बदलावों को एक अस्थायी शाखा में सौंप दें। यदि आप शाखाएं बदलने से पहले अपना काम करना पसंद करते हैं तो यह उपयोगी है।

एक अस्थायी शाखा बनाना

  1. एक अस्थायी शाखा बनाएं:

सबसे पहले, एक नई अस्थायी शाखा बनाएं और उस पर स्विच करें:

    git checkout -b temp-branch

जब तक आप अत्यावश्यक समस्या का समाधान नहीं करेंगे तब तक यह शाखा आपके वर्तमान कार्य को रोकेगी।

  1. अपने परिवर्तन प्रतिबद्ध करें:

अस्थायी शाखा में अपना काम सौंपें:

    git add . git commit -m "WIP: Save work before switching branches"
  1. अन्य शाखा पर स्विच करें:

अब, उस शाखा पर जाएं जहां आपको तत्काल परिवर्तन करने की आवश्यकता है:

    git checkout 

अपना काम जारी रखें

एक बार जब आप समस्या का समाधान कर लें:

  1. वापस स्विच करें:

अपनी मूल शाखा पर लौटें:

    git checkout 
  1. अस्थायी शाखा का विलय (वैकल्पिक):

यदि आप अपना काम अस्थायी शाखा से वापस अपनी मूल शाखा में लाना चाहते हैं, तो आप इसे मर्ज कर सकते हैं:

    git merge temp-branch
  1. अस्थायी शाखा हटाएं (वैकल्पिक):

एक बार जब आप काम पूरा कर लें, तो आप अस्थायी शाखा को हटा सकते हैं:

    git branch -d temp-branch




उदाहरण वर्कफ़्लो

आइए एक त्वरित उदाहरण देखें:

  1. एक अस्थायी शाखा बनाएं और उस पर स्विच करें:

    गिट चेकआउट -बी टेम्प-फिक्स

  2. अपने वर्तमान परिवर्तन करें:

    गिट जोड़ें। गिट कमिट -एम "डब्ल्यूआईपी: शाखाएं बदलने से पहले अस्थायी बचत"

  3. समस्या को ठीक करने के लिए आवश्यक शाखा पर स्विच करें:

    कोड कॉपी करें

    गिट चेकआउट मास्टर

  4. समस्या को ठीक करने के बाद, अपनी मूल शाखा पर वापस जाएँ:

    कोड कॉपी करें

    गिट चेकआउट सुविधा-शाखा

  5. यदि आवश्यक हो तो वैकल्पिक रूप से अस्थायी शाखा का विलय करें।

निष्कर्ष

Git में शाखाओं को स्विच करना अप्रतिबद्ध परिवर्तनों के साथ भी सहज और तनाव मुक्त हो सकता है। गिट स्टैश का लाभ उठाकर या एक अस्थायी शाखा बनाकर, आप अपने वर्कफ़्लो को निर्बाध रूप से प्रबंधित कर सकते हैं और अपनी प्रगति को बरकरार रख सकते हैं। ये तकनीकें आपके किसी भी चल रहे काम को खोए बिना जरूरी मुद्दों को तेजी से हल करने में आपकी मदद करती हैं।

अपने अगले प्रोजेक्ट में इन तरीकों को आज़माएं और देखें कि वे आपकी विकास प्रक्रिया को कैसे बढ़ा सकते हैं!

मुझे आशा है कि गिट स्टैश का उपयोग करने पर यह मार्गदर्शिका सहायक थी। यदि आपके कोई प्रश्न हैं या अधिक विवरण की आवश्यकता है, तो नीचे टिप्पणी छोड़ने में संकोच न करें।

मुझसे जुड़ें:

GitHub: - मेरे ओपन-सोर्स प्रोजेक्ट और रिपॉजिटरी का अन्वेषण करें।
लिंक्डइन: - पेशेवर रूप से मेरे साथ जुड़ें और मेरे करियर के बारे में अपडेट रहें।
अधिक जानकारी, अपडेट और अवसरों के लिए इन प्लेटफार्मों पर बेझिझक मुझसे संपर्क करें या मुझे फ़ॉलो करें। पढ़ने के लिए धन्यवाद!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/asadbuhari/switch-branches-in-git-without-losing-your-work-2o18?1 यदि कोई उल्लंघन है, तो कृपया हटाने के लिए स्टडी_गोलंग@163.com पर संपर्क करें यह
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3