पूर्ववत करें


335

मैंने सिर्फ एक प्रोजेक्ट में एक स्टैश किया था जो मैंने कमिट नहीं किया। क्या राज्य में वापस जाने से पहले मेरा रास्ता रोक दिया गया है? मैं ये कैसे करूं? मैंने टर्मिनल बंद कर दिया है और मेरा लैपटॉप बंद हो गया है। मैंने कुछ शोध किया है और ऐसा लगता है कि ऐसा करने का कोई तरीका नहीं है।


संबंधित पोस्ट यहाँ
आरबीटी

जवाबों:


651

आप बस चला सकते हैं:

git stash pop

और यह आपके परिवर्तनों को समाप्त कर देगा।

यदि आप फ़ाइलों की स्थिति (चरणबद्ध बनाम काम) को संरक्षित करना चाहते हैं, तो उपयोग करें

git stash apply --index

10
खैर, काफी नहीं। यह तय नहीं करेगा कि स्टेजिंग डायरेक्टरी में क्या है, इसलिए आपको वह सब टॉयलेट करना होगा (जो कष्टप्रद हो सकता है यदि आपने एक जटिल git ऐड -p किया हो
Nick

मेरे लिए काम नहीं किया। मैं एक त्रुटि मिली: mymodule/MyClass.java: needs merge - unable to refresh index। एक मैनुअल मर्ज से बचना मेरे लक्ष्य का उपयोग करते समय ठीक था git stash pop...
TanguyP

मेरी ज़िंदगी बचाई। हालाँकि, मेरे सभी परिवर्तन चले गए हैं और फिर से सभी चीजों की आवश्यकता है। साभार
अंकित शाह

@ टैंगुपी तो अंत में आपका क्या समाधान था?
theonlygusti

119

git stash list अपने अटके हुए बदलावों को सूचीबद्ध करने के लिए।

git stash showयह देखने के लिए कि nनीचे दिए गए आदेशों में क्या है।

git stash apply सबसे हाल ही में लागू करने के लिए।

git stash apply stash@{n} एक पुराने छिपाने की जगह लागू करने के लिए।

http://git-scm.com/book/en/Git-Tools-Stashing


1
"git stash लिस्ट" के बाद "git stash show" को भी इस उत्कृष्ट उत्तर को राउंड आउट करने के लिए और n के साथ बदलने के लिए बेहतर पहचान करें। मुझे पता है कि मेरे पास ऐसी फाइलें हैं, जो अब मौजूद नहीं हैं!
जिमहॉसे

15

यह स्टेजिंग निर्देशिका को भी पुनर्स्थापित करेगा:

git stash apply --index
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.