विंडोमैकसॉफ्टवेयरसेटिंग्ससुरक्षाउत्पादकतालिनक्सएंड्रॉइडप्रदर्शनकॉन्फ़िगरेशनएप्पल सभी

Git में परिवर्तन कैसे संग्रहीत करें

संपादित 2 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम

गिटस्टैशविंडोमैकलिनक्सकमांड लाइनविकाससंस्करण नियंत्रणस्रोत नियंत्रणवर्कफ़्लोउत्पादकता

Git में परिवर्तन कैसे संग्रहीत करें

अनुवाद अपडेट किया गया 2 सप्ताह पहले

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

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

Git स्टैश को समझना

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

जब आप git stash कमांड चलाते हैं, तो आपके परिवर्तन एक स्टैक में सहेजे जाते हैं। इस स्टैक में कई स्टैश हो सकते हैं, और आप बाद में सूचीबद्ध किसी भी स्टैश को लागू कर सकते हैं। एक एकल स्टैश में निम्नलिखित का संयोजन होता है:

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

मूल Git स्टैश कमांड्स

Git में स्टैश का उपयोग शुरू करने के लिए, आपको कुछ मूलभूत कमांड्स से परिचित होना होगा। यहां सबसे महत्वपूर्ण कमांड्स पर एक नज़र डालते हैं:

1. अपना परिवर्तन सुरक्षित रखना

अपने परिवर्तनों को संग्रहीत करने के लिए निम्नलिखित कमांड का उपयोग करें:

git stash push

यह आपके स्थानीय संशोधन को सहेज लेगा और आपकी कार्यशील निर्देशिका को HEAD कमिट से मेल करने के लिए पुनर्स्थापित करेगा। यह ऐसा होगा जैसे कि आपने ये परिवर्तन कभी नहीं किए हों।

2. संदेश के साथ छुपाना

आपके छुपे हुए परिवर्तनों के साथ एक संदेश को शामिल करना अक्सर उपयोगी होता है जिससे आसानी से पहचान हो सके:

git stash push -m "आपका स्टैश संदेश"

यह संदेश आपको यह याद रखने में मदद करता है कि इस स्टैश में कौन-कौन से परिवर्तन हैं, बिना लाइन-स्तरीय परिवर्तनों को देखे।

3. सहेजे गए स्टैश को सूचीबद्ध करना

अपने सभी सहेजे गए संग्रहणों की सूची देखने के लिए:

git stash list

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

4. स्टैश को लागू करना

नवीनतम स्टैश को फिर से लागू करने के लिए:

git stash apply

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

5. विशिष्ट स्टैश को लागू करना

यदि आप एक विशिष्ट स्टैश को लागू करना चाहते हैं, तो उपयोग करें:

git stash apply stash@{n}

stash@{n} को उस विशिष्ट स्टैश से बदलें जिसे आप लागू करना चाहते हैं, जिसे आप git stash list आउटपुट से पहचान सकते हैं।

6. स्टैश पॉप करना

नवीनतम स्टैश को लागू करने और तुरंत हटाने के लिए:

git stash pop

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

7. स्टैश ड्रॉप करना

यदि आप किसी विशेष स्टैश को हटाना चाहते हैं (इसे लागू किए बिना), तो उपयोग करें:

git stash drop stash@{n}

यह निर्दिष्ट स्टैश को नष्ट कर देगा।

8. सभी गुप्त संगृहिताओं को खाली करना

यदि आप सभी स्टैश को हटाना चाहते हैं, तो कमांड है:

git stash clear

इस कमांड का सावधानी से उपयोग करें, क्योंकि यह संग्रहीत सभी परिवर्तनों को स्थायी रूप से नष्ट कर देगा।

एक उदाहरण कार्यप्रवाह

एक परिदृश्य पर विचार करें जहां आप शाखा स्थिति-xyz पर एक नई विशेषता विकसित कर रहे हैं, और आपने अपनी कार्यशील प्रति में कई परिवर्तन किए हैं। अचानक, आपको मुख्य शाखा पर एक गंभीर बग को ठीक करने की आवश्यकता है।

Git स्टैश का उपयोग करने के लिए चरण-दर-चरण गाइड

  1. वर्तमान परिवर्तनों को देखें: सुनिश्चित करें कि जिन परिवर्तनों को आप स्टैश करना चाहते हैं वे अभी तक काम नहीं किए गए हैं। आप उनकी वर्तमान स्थिति की जांच कर सकते हैं:
    git status
  2. अपने परिवर्तनों की सुरक्षा करें: अपने संशोधनों को एक वर्णनात्मक संदेश के साथ सुरक्षित करें:
    git stash push -m "feature-xyz पर काम बचाना"
  3. शाखाओं को बदलें: main या अन्य किसी भी शाखा पर स्विच करें जिस पर आपको काम करना है:
    git checkout main
  4. बग को ठीक करें: बग को ठीक करने के लिए किसी भी आवश्यक परिवर्तन करें और उन्हें कमिट करें।
    git commit -a -m "गंभीर बग को ठीक किया"
  5. अपनी विशेषता शाखा पर लौटें: एक बार बग को ठीक कर लेने के बाद, विशेषता शाखा पर लौटें:
    git checkout feature-xyz
  6. अपने संग्रहीत परिवर्तन लागू करें: भंडारण से अपना काम पुनःस्थापित करें:
    git stash pop

    यदि कोई असहमति है, तो उसे हल करें और फिर अपने काम के साथ आगे बढ़ें।

उन्नत उपयोग के मामले और फ्लैग्स

Git स्टैश कुछ अधिक उन्नत विकल्पों के साथ लचीलापन प्रदान करता है:

1. अनट्रैक्ड फाइलों को संग्रहित करना

डिफ़ॉल्ट रूप से, git stash push केवल ट्रैक की गई फाइलों के परिवर्तन को स्टैश करेगा। अनट्रैक्ड फाइलों को सम्मिलित करने के लिए:

git stash push -u

यह ट्रैक की गई और अनट्रैक्ड फाइलों दोनों को संग्रहित करेगा।

2. अनदेखी की गई फाइलों को छुपाना

यदि आप अनदेखी की गई फाइलों को भी स्टैश करना चाहते हैं (फाइलें जिन्हें .gitignore द्वारा स्पष्ट रूप से अ исключено किया गया है):

git stash push --all

3. फाइल के कुछ हिस्से को छुपाना

आप फाइल्स के भागों को चयनात्मक रूप से स्टैश कर सकते हैं:

git stash -p

यह कमांड इंटरैक्टिव है और आपको चुनिंदा हंक्स को स्टैश करने की अनुमति देता है।

4. इंडेक्स के साथ स्टैश को लागू करना

संग्रहीत परिवर्तनों को पुनः प्रयोजने के लिए, इसमें चरणबद्ध परिवर्तनों को भी शामिल करते हुए (इंडेक्स में), उपयोग करें:

git stash apply --index

ध्यान दें कि इससे इंडेक्स में परस्पर विरोधी परिवर्तनों के मामले में संघर्ष हो सकता है।

स्टैश संघर्षों को समझना

स्टैशिंग और अनस्टैशिंग सामान्यतः सीधे होते हैं, लेकिन संघर्ष उत्पन्न हो सकते हैं, विशेषकर जब स्टैश को अपडेटेड कोडबेस में लागू किया जाता है। अगर संघर्ष होते हैं, तो Git उन्हें मर्ज संघर्षों की तरह चिह्नित करेगा। आपको प्रभावित फाइलों को संपादित करना होगा, संघर्षों को मैन्युअल रूप से सुलझाना होगा, और उन्हें समाधान के रूप में चिह्नित करना होगा:

git add <file>

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

Git स्टैश सर्वोत्तम अभ्यास

Git स्टैश के साथ काम को आसान और अधिक प्रभावी बनाने के लिए कुछ सुझाव:

निष्कर्ष

Git स्टैश डेवलपर के शस्त्रागार में एक बहुमुखी उपकरण है, विशेष रूप से असम्पीष्ट कार्य को संरक्षित करने और अस्थायी रूप से संदर्भ बदलने में उपयोगी है। Git स्टैश का उपयोग प्रभावी ढंग से कैसे करें यह समझकर, डेवलपर विभिन्न कार्यों के बीच परिवर्तनों को बिना किसी रुकावट के प्रबंधित कर सकते हैं, अपने कार्यप्रवाह की दक्षता और लचीलेपन में सुधार कर सकते हैं।

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

यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं


टिप्पणियाँ