संपादित 2 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
गिटस्टैशविंडोमैकलिनक्सकमांड लाइनविकाससंस्करण नियंत्रणस्रोत नियंत्रणवर्कफ़्लोउत्पादकता
अनुवाद अपडेट किया गया 2 सप्ताह पहले
Git सॉफ्टवेयर विकास की दुनिया में सबसे व्यापक रूप से उपयोग किए जाने वाले संस्करण नियंत्रण प्रणालियों में से एक है। इसे लिनस टॉर्वाल्ड्स द्वारा 2005 में लिनक्स कर्नेल के विकास के लिए बनाया गया था। तब से, इसे हर आकार की सॉफ्टवेयर परियोजनाओं में, डेवलपर टीमों के द्वारा...यहां तक कि अकेले काम कर रहे डेवलपर्स द्वारा भी इस्तेमाल किया गया है। Git आपको कोड के संस्करणों को ट्रैक करने, कई डेवलपर्स के साथ सहयोग करने, और यह सुनिश्चित करने में मदद करता है कि जब भी आवश्यकता हो, आप अपने सॉफ़्टवेयर के पिछले संस्करणों पर वापस जा सकते हैं।
Git-प्रबंधित प्रोजेक्ट पर काम करते समय, कभी-कभी ऐसा हो सकता है कि आपको शाखाएँ बदलनी पड़ें। उदाहरण के लिए, आप किसी नई विशेषता पर काम कर रहे हो सकते हैं और अचानक एक महत्वपूर्ण बग रिपोर्ट आती है जिसे तुरंत ठीक करने की ज़रूरत होती है। ऐसे मामलों में, आप बिना किसी प्रगति खोए बग फिक्स पर काम करना चाहेंगे, जिस पर आप काम कर रहे थे। यहाँ Git स्टैश काम आता है।
Git स्टैश एक शक्तिशाली विशेषता है जो डेवलपर्स को अस्थायी रूप से उनके परिवर्तन को बिना रिपॉजिटरी में कमिट किए सहेजने की अनुमति देता है। यह प्रभावी रूप से आपके किए गए परिवर्तनों को "शेल्फ" करता है, जिससे आप एक नई शाखा को बिना किसी नई विशेषता को कमिट किए देख सकते हैं जो कि अभी तक दूसरों के लिए तैयार नहीं हो सकती। जब आप तैयार होते हैं, तो आप इन परिवर्तनों को अपने कार्यशील प्रति या किसी अन्य शाखा पर लागू कर सकते हैं।
जब आप git stash
कमांड चलाते हैं, तो आपके परिवर्तन एक स्टैक में सहेजे जाते हैं। इस स्टैक में कई स्टैश हो सकते हैं, और आप बाद में सूचीबद्ध किसी भी स्टैश को लागू कर सकते हैं। एक एकल स्टैश में निम्नलिखित का संयोजन होता है:
एक बार जब परिवर्तन स्टैश हो जाते हैं, तो आपकी कार्यशील निर्देशिका साफ़ हो जाती है, और आप शाखाएँ बदल सकते हैं, अपना कोड संकलित कर सकते हैं, या जो कुछ भी आपको करने की आवश्यकता हो सकती है उसे कर सकते हैं। उस कार्य को पूरा करने के बाद, आप स्टैक को पॉप या लागू करके अपने मूल कार्य पर लौट सकते हैं।
Git में स्टैश का उपयोग शुरू करने के लिए, आपको कुछ मूलभूत कमांड्स से परिचित होना होगा। यहां सबसे महत्वपूर्ण कमांड्स पर एक नज़र डालते हैं:
अपने परिवर्तनों को संग्रहीत करने के लिए निम्नलिखित कमांड का उपयोग करें:
git stash push
यह आपके स्थानीय संशोधन को सहेज लेगा और आपकी कार्यशील निर्देशिका को HEAD कमिट से मेल करने के लिए पुनर्स्थापित करेगा। यह ऐसा होगा जैसे कि आपने ये परिवर्तन कभी नहीं किए हों।
आपके छुपे हुए परिवर्तनों के साथ एक संदेश को शामिल करना अक्सर उपयोगी होता है जिससे आसानी से पहचान हो सके:
git stash push -m "आपका स्टैश संदेश"
यह संदेश आपको यह याद रखने में मदद करता है कि इस स्टैश में कौन-कौन से परिवर्तन हैं, बिना लाइन-स्तरीय परिवर्तनों को देखे।
अपने सभी सहेजे गए संग्रहणों की सूची देखने के लिए:
git stash list
यह कमांड आपके द्वारा सहेजे गए सभी स्टैश और उनके संबंधित संदेशों की एक सूची प्रिंट करेगा।
नवीनतम स्टैश को फिर से लागू करने के लिए:
git stash apply
यह कमांड आपके वर्तमान कार्यशील निर्देशिका में नवीनतम स्टैश को लागू करता है, लेकिन इसे स्टैश सूची से नहीं हटाता है।
यदि आप एक विशिष्ट स्टैश को लागू करना चाहते हैं, तो उपयोग करें:
git stash apply stash@{n}
stash@{n}
को उस विशिष्ट स्टैश से बदलें जिसे आप लागू करना चाहते हैं, जिसे आप git stash list
आउटपुट से पहचान सकते हैं।
नवीनतम स्टैश को लागू करने और तुरंत हटाने के लिए:
git stash pop
यह लागू कमांड के समान है, लेकिन यह लागू स्टैश को आपकी सूची से भी हटा देता है।
यदि आप किसी विशेष स्टैश को हटाना चाहते हैं (इसे लागू किए बिना), तो उपयोग करें:
git stash drop stash@{n}
यह निर्दिष्ट स्टैश को नष्ट कर देगा।
यदि आप सभी स्टैश को हटाना चाहते हैं, तो कमांड है:
git stash clear
इस कमांड का सावधानी से उपयोग करें, क्योंकि यह संग्रहीत सभी परिवर्तनों को स्थायी रूप से नष्ट कर देगा।
एक परिदृश्य पर विचार करें जहां आप शाखा स्थिति-xyz
पर एक नई विशेषता विकसित कर रहे हैं, और आपने अपनी कार्यशील प्रति में कई परिवर्तन किए हैं। अचानक, आपको मुख्य शाखा पर एक गंभीर बग को ठीक करने की आवश्यकता है।
git status
git stash push -m "feature-xyz पर काम बचाना"
main
या अन्य किसी भी शाखा पर स्विच करें जिस पर आपको काम करना है:
git checkout main
git commit -a -m "गंभीर बग को ठीक किया"
git checkout feature-xyz
git stash pop
यदि कोई असहमति है, तो उसे हल करें और फिर अपने काम के साथ आगे बढ़ें।
Git स्टैश कुछ अधिक उन्नत विकल्पों के साथ लचीलापन प्रदान करता है:
डिफ़ॉल्ट रूप से, git stash push
केवल ट्रैक की गई फाइलों के परिवर्तन को स्टैश करेगा। अनट्रैक्ड फाइलों को सम्मिलित करने के लिए:
git stash push -u
यह ट्रैक की गई और अनट्रैक्ड फाइलों दोनों को संग्रहित करेगा।
यदि आप अनदेखी की गई फाइलों को भी स्टैश करना चाहते हैं (फाइलें जिन्हें .gitignore
द्वारा स्पष्ट रूप से अ исключено किया गया है):
git stash push --all
आप फाइल्स के भागों को चयनात्मक रूप से स्टैश कर सकते हैं:
git stash -p
यह कमांड इंटरैक्टिव है और आपको चुनिंदा हंक्स को स्टैश करने की अनुमति देता है।
संग्रहीत परिवर्तनों को पुनः प्रयोजने के लिए, इसमें चरणबद्ध परिवर्तनों को भी शामिल करते हुए (इंडेक्स में), उपयोग करें:
git stash apply --index
ध्यान दें कि इससे इंडेक्स में परस्पर विरोधी परिवर्तनों के मामले में संघर्ष हो सकता है।
स्टैशिंग और अनस्टैशिंग सामान्यतः सीधे होते हैं, लेकिन संघर्ष उत्पन्न हो सकते हैं, विशेषकर जब स्टैश को अपडेटेड कोडबेस में लागू किया जाता है। अगर संघर्ष होते हैं, तो Git उन्हें मर्ज संघर्षों की तरह चिह्नित करेगा। आपको प्रभावित फाइलों को संपादित करना होगा, संघर्षों को मैन्युअल रूप से सुलझाना होगा, और उन्हें समाधान के रूप में चिह्नित करना होगा:
git add <file>
एक बार हल होने के बाद, आप काम जारी रख सकते हैं और अंततः अपने परिवर्तनों को सबमिट कर सकते हैं।
Git स्टैश के साथ काम को आसान और अधिक प्रभावी बनाने के लिए कुछ सुझाव:
-m
विकल्प का उपयोग करें। इससे बाद में उन्हें आसानी से पहचानने में मदद मिलती है।Git स्टैश डेवलपर के शस्त्रागार में एक बहुमुखी उपकरण है, विशेष रूप से असम्पीष्ट कार्य को संरक्षित करने और अस्थायी रूप से संदर्भ बदलने में उपयोगी है। Git स्टैश का उपयोग प्रभावी ढंग से कैसे करें यह समझकर, डेवलपर विभिन्न कार्यों के बीच परिवर्तनों को बिना किसी रुकावट के प्रबंधित कर सकते हैं, अपने कार्यप्रवाह की दक्षता और लचीलेपन में सुधार कर सकते हैं।
अपूर्ण कार्य को बचाने से लेकर महत्वपूर्ण बगों पर ध्यान केंद्रित करने तक, अपने कार्यप्रवाह में git स्टैश क्षमताओं को ठीक से लागू करना कोड परिवर्तनों को संभालने को आसान और अधिक प्रबंधनीय बना सकता है। जैसे आप Git स्टैश के साथ सहज हो जाते हैं, आप देखेंगे कि यह आपके विकास टूलकिट का एक अनिवार्य हिस्सा बन जाता है।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं