गिट गाइड
गिट स्टैश: परिवर्तन सहेजें, शाखाएं बदलें और अपना काम पुनर्स्थापित करें
अत्यावश्यक सुधार से अधूरे कार्य में रुकावट आती है। इसे Git stash से सेव करें, बाद में सही प्रविष्टि पुनर्स्थापित करें, और क्लिक करने से पहले अप्लाई, पॉप और कॉन्फ्लिक्ट को समझें। एक विज़ुअल GitTree वॉकथ्रू शामिल है।
गिट स्टैश अप्रतिबद्ध परिवर्तनों को सहेजता है ताकि आप किसी और चीज़ पर काम कर सकें, फिर उन परिवर्तनों को वापस ला सकें। git stash push -m "WIP: checkout form" से प्रारंभ करें; जब आप सहेजी गई प्रविष्टि को रखना चाहते हैं तो git stash apply से पुनर्स्थापित करें, या जब आप सफल पुनर्स्थापना के बाद इसे हटाना चाहते हैं तो git stash pop से पुनर्स्थापित करें। जब नई, अनट्रैक की गई फ़ाइलें भी कार्य से संबंधित हों तो -u जोड़ें।
यह मार्गदर्शिका अपने उदाहरण के रूप में चेकआउट-फ़ॉर्म रुकावट का उपयोग करती है: फ़ॉर्म को रोकें, किसी अन्य शाखा पर उत्पादन बग को ठीक करें, फिर फ़ॉर्म पर वापस लौटें। विज़ुअल वॉकथ्रू GitTree का उपयोग करता है, जो क्लाइंट हम macOS, Windows और Linux के लिए बनाते हैं। स्टैश प्रबंधन निःशुल्क योजना में शामिल है; वर्तमान आधिकारिक बिल्ड के लिए साइन-इन की आवश्यकता होती है।
स्टैश, कमिट या वर्कट्री का उपयोग कब करें
| स्थिति | उपयोग करें | कारण |
|---|---|---|
| अधूरे संपादनों के साथ एक संक्षिप्त व्यवधान | छिपाना | सामान्य शाखा प्रतिबद्धता जोड़े बिना फ़ाइलों को अस्थायी रूप से साफ़ करें |
| जिस कार्य को आपको दूरस्थ रूप से साझा करना या बैकअप लेना होगा | प्रतिबद्ध हों और उचित शाखा की ओर बढ़ें | चोरी स्थानीय रहती है; सामान्य पुश उन्हें अपलोड नहीं करता है |
| दो कार्य जिन्हें आप एक साथ खोलना चाहते हैं | वर्कट्री | प्रत्येक कार्य को अपना स्वयं का कार्यशील फ़ोल्डर मिलता है |
लंबे समानांतर कार्यों के लिए, वर्कट्री गाइड का उपयोग करें। एक भंडार सुविधाजनक अस्थायी भंडारण है, लेकिन यह आपके मूल्यवान कार्य का एकमात्र बैकअप नहीं होना चाहिए। कार्य के बाद प्रविष्टियों को नाम दें, क्योंकि stash@{0} का अर्थ नवीनतम प्रविष्टि है और सूची बदलते ही संख्याएँ बदल जाती हैं।
परिवर्तन सहेजें और शाखाएँ बदलें: एक संपूर्ण उदाहरण
पहले निरीक्षण करें git status: एक डिफ़ॉल्ट स्टैश में चरणबद्ध संपादन सहित ट्रैक की गई फ़ाइलों में संशोधन शामिल होते हैं, लेकिन ट्रैक न की गई और उपेक्षित फ़ाइलों को अकेला छोड़ दिया जाता है। इस उदाहरण में फ़ॉर्म में एक नव निर्मित फ़ाइल शामिल है, इसलिए -u का उपयोग करें। ये आदेश मानते हैं कि feature/checkout और hotfix/payment पहले से मौजूद हैं; अपनी स्वयं की शाखा के नाम बदलें.
git status
git stash push -u -m "WIP: checkout form"
git stash list
git status
git switch hotfix/paymentलौटने से पहले हॉटफिक्स समाप्त करें, परीक्षण करें और प्रतिबद्ध करें। आवेदन करने से पहले स्टैश सूची और उसके अंतर की जांच करें: हो सकता है कि इस बीच किसी अन्य कार्य ने एक नई प्रविष्टि बनाई हो। "stash@{0}" जैसे चयनकर्ता को उद्धृत करने से शेल्स अपने विशेष वर्णों की व्याख्या करने से भी बच जाता है।
git switch feature/checkout
git stash list
git stash show -p --include-untracked "stash@{0}"
git stash apply "stash@{0}"
git statusगिट स्टैश अप्लाई बनाम पॉप: आपको किसे चुनना चाहिए?
| आदेश | फ़ाइलें पुनर्स्थापित करता है | भंडार रखता है |
|---|---|---|
git stash apply "stash@{0}" | हाँ | हाँ |
git stash pop "stash@{0}" | हाँ | नहीं, सफलता के बाद; हाँ, यदि संघर्ष इसे रोक दे |
git stash apply --index "stash@{0}" | हाँ, और स्टेजिंग स्थिति को पुनर्स्थापित करने का प्रयास करता है | हाँ |
किसी महत्वपूर्ण अधूरे परिवर्तन के लिए, पहले आवेदन करें, उसकी समीक्षा करें और उसका परीक्षण करें, फिर पुनर्स्थापित कार्य करने के बाद सहेजी गई प्रविष्टि को हटा दें। दो बार आवेदन करने से विवाद उत्पन्न हो सकता है या परिवर्तन दोहराए जा सकते हैं; पुनः प्रयास करने से पहले कार्यशील फ़ाइलों का निरीक्षण करें। न तो अप्लाई करें और न ही पॉप किसी चीज़ को सर्वर पर धकेलता है।
ट्रैक न की गई फ़ाइलें, विशिष्ट फ़ाइलें या चरणबद्ध परिवर्तन छिपाकर रखें
git stash push -u -m "WIP: include new files"
git stash push -m "WIP: checkout only" -- src/checkout.ts
git stash push --staged -m "WIP: staged changes only"
git stash push --keep-index -m "WIP: keep staged work ready"ये विकल्प आदेश हैं, एक साथ चलने का क्रम नहीं। -- के बाद का पथ उस पथ के भंडार को सीमित कर देता है। --staged केवल चरणबद्ध परिवर्तनों को सहेजता है; --keep-index जगह-जगह चरणबद्ध परिवर्तन छोड़ता है ताकि आप अन्य संपादनों को स्थगित करते समय उनका परीक्षण या प्रतिबद्ध कर सकें। वे विभिन्न समस्याओं का समाधान करते हैं. पुराने Git इंस्टालेशन --staged का समर्थन नहीं कर सकते हैं; git --version और अपने इंस्टॉल किए गए संस्करण के लिए सहायता की जाँच करें।
GitTree में परिवर्तनों को कैसे छिपाएँ और पुनर्स्थापित करें
चल रहे कार्य का निरीक्षण करें
// WIPपंक्ति खोलें, फ़ाइलों की समीक्षा करें और कमिट के बगल में स्टैश टैब चुनें।दायरा चुनें
सभी परिवर्तन, केवल चरणबद्ध परिवर्तन या केवल चयनित फ़ाइलें चुनें। जब नई फ़ाइलें कार्य से संबंधित हों तो अनट्रैक की गई फ़ाइलें शामिल करें सक्षम करें।
इसे एक कार्य नाम दें
WIP: चेकआउट फॉर्म जैसा संदेश दर्ज करें, फिर स्टैश चुनें। शाखाएँ बदलने से पहले बची हुई किसी भी फ़ाइल का निरीक्षण करें; आंशिक स्टैश से सारा काम साफ़ नहीं होता.
पुनर्स्थापित करने से पहले पूर्वावलोकन करें
स्टैश अनुभाग में, सही प्रविष्टि पर राइट-क्लिक करें और इसकी फ़ाइलों और अंतर का निरीक्षण करने के लिए शो स्टैश चुनें। जांचें कि प्राप्तकर्ता शाखा सही है।
लागू करें, समीक्षा करें और समाप्त करें
प्रविष्टि को बनाए रखने के लिए अप्लाई स्टैश चुनें, या सफलता के बाद इसे हटाने के लिए पॉप स्टैश चुनें। परिवर्तनों की समीक्षा करें, अपने परीक्षण चलाएँ और तैयार होने पर प्रतिबद्ध हों।

क्या आप अपने स्वयं के भंडार के साथ इन चरणों का पालन करना चाहते हैं? डाउनलोड करें GitTree, साइन इन करें और रिपॉजिटरी फ़ोल्डर खोलें। आपके मौजूदा स्टैश सामान्य Git स्टैश बने रहेंगे, जो टर्मिनल से भी दिखाई देंगे।
गिट स्टैश पॉप विवादों को कैसे हल करें
जब गंतव्य शाखा समान पंक्तियों को बदल देती है तो एक स्टैश में टकराव हो सकता है। एक विफल पॉप भंडारण बरकरार रखता है, लेकिन कुछ बदलाव पहले ही लागू किए जा चुके होंगे। इसे बार-बार पॉप न करें. git status चलाएँ, प्रत्येक असंबद्ध फ़ाइल का समाधान करें, और केवल इच्छित समाधानों को चरणबद्ध करें। मर्ज संघर्ष गाइड मार्करों और तीन-तरफा संपादक की व्याख्या करता है।
git status
git diff --name-only --diff-filter=U
# Edit and test each conflicted file, then stage its resolution:
git add -- src/checkout.ts
git diff --cached
git statusकोई git stash --continue या git stash --abort नहीं है। एक बार फ़ाइलें हल हो जाएं, तो सामान्य रूप से समीक्षा करें और प्रतिबद्ध हों। यदि आप प्रयास छोड़ना चाहते हैं, तो लागू होने से पहले मौजूद किसी भी कार्य को सुरक्षित रखें और कुछ भी छोड़ने से पहले प्रत्येक बदले हुए पथ का निरीक्षण करें। एक ब्लैंकेट हार्ड रीसेट असंबद्ध संपादनों को मिटा सकता है। जब गंतव्य बहुत दूर चला जाता है, तो git stash branch rescue/checkout "stash@{0}" मूल आधार पर एक नई शाखा पर पुनर्स्थापित होता है; एक सफल ऑपरेशन उस स्टैश प्रविष्टि को हटा देता है।
परिणाम की जांच करने के बाद ही किसी स्टैश को हटाएं
git stash drop "stash@{0}" से पहले दोबारा git stash list का प्रयोग करें: स्थिति बदल गई होगी। git stash clear पूरी सूची हटा देता है। सादे Git में गिराए गए भंडार की पुनर्प्राप्ति अनिश्चित है और यह इस पर निर्भर करता है कि इसकी वस्तुएँ अभी भी मौजूद हैं या नहीं; इसे बाद में ढूंढने पर भरोसा न करें. GitTree में, डिलीट स्टैश हटाई गई प्रविष्टि को पुनर्प्राप्ति स्नैपशॉट में रखता है ताकि पूर्ववत इसे पुनर्स्थापित कर सके। वह ऐप-विशिष्ट पुनर्प्राप्ति टर्मिनल विलोपन को गारंटीकृत पुनर्प्राप्ति योग्य कार्रवाई नहीं बनाती है। व्यापक पुनर्प्राप्ति विकल्पों के लिए, Git गलतियों को पूर्ववत करना देखें।
अक्सर पूछे जाने वाले प्रश्न
क्या git stash अनट्रैक की गई फ़ाइलों को सहेजता है?
डिफ़ॉल्ट रूप से नहीं. गिट स्टैश पुश -यू का उपयोग करें, या अनट्रैक की गई फ़ाइलों को GitTree में शामिल करें। उपेक्षित फ़ाइलों के लिए एक अलग विकल्प की आवश्यकता होती है; -यू में वे शामिल नहीं हैं.
क्या मैं किसी अन्य शाखा में स्टेश लागू कर सकता हूँ?
हाँ। गंतव्य शाखा की जाँच करें और वहाँ प्रविष्टि लागू करें। पहले इसके अंतर की समीक्षा करें: स्टैश उस शाखा से अनुपस्थित कोड पर निर्भर हो सकता है।
क्या गिट स्टैश पॉप संघर्ष पर स्टैश को हटा देता है?
नहीं, Git विरोध लागू करने पर प्रविष्टि को बरकरार रखता है। प्रविष्टि को स्वयं हटाने से पहले कार्यशील फ़ाइलों का समाधान और सत्यापन करें।
क्या कोई स्टैश GitHub की ओर धकेला गया है?
एक सामान्य गिट पुश स्टैश अपलोड नहीं करता है। एक उपयुक्त शाखा पर काम करें और यदि आपको रिमोट कॉपी की आवश्यकता हो तो उस शाखा को आगे बढ़ाएं।
क्या GitTree स्टैश प्रबंधन निःशुल्क है?
हां, भंडारण प्रबंधन निःशुल्क योजना का हिस्सा है। वर्तमान आधिकारिक निर्माण के लिए साइन-इन की आवश्यकता होती है; GitTree इस स्थानीय Git वर्कफ़्लो के लिए प्रो की आवश्यकता नहीं है।
सूत्र
अन्य उत्पादों के बारे में दावों की जाँच उनके आधिकारिक पेजों के विरुद्ध 28 अक्टूबर 2026 पर की गई। कीमतें और सुविधाएँ बदलती हैं; विक्रेताओं के पृष्ठ सत्य का स्रोत हैं।