मैं अपने स्थानीय कार्यशील पेड़ में फ़ाइलों पर अपने परिवर्तन को गंभीरता से त्यागने के लिए छोड़ देता हूं। इस समय फ़ाइलों का मंचन नहीं किया जाता है। क्या यह चेकआउट "पूर्ववत" करने के लिए पॉसिबल है?
मैं अपने स्थानीय कार्यशील पेड़ में फ़ाइलों पर अपने परिवर्तन को गंभीरता से त्यागने के लिए छोड़ देता हूं। इस समय फ़ाइलों का मंचन नहीं किया जाता है। क्या यह चेकआउट "पूर्ववत" करने के लिए पॉसिबल है?
जवाबों:
मेरा मानना है कि यदि कोई फ़ाइल संशोधित है, लेकिन अभी तक नहीं जोड़ा गया है (मंचन), यह विशुद्ध रूप से "निजी" है।
यदि इसे इंडेक्स या हेड संस्करण के साथ अधिलेखित किया जाता है, तो जीआईटी द्वारा इसे बहाल नहीं किया जा सकता है (जब तक कि आपके पास अपने वर्तमान काम की प्रति नहीं है)। "
एक "निजी" सामग्री केवल आपकी वर्तमान निर्देशिका में दिखाई देती है, लेकिन Git में किसी भी तरह से पंजीकृत नहीं है।
git checkout --), तो मुझे उम्मीद है कि यह उस ऑपरेशन को पूर्ववत करने में सक्षम होगा, शायद इसके माध्यम से reflog। क्या वह गलत अपेक्षा है?
git checkout folders/subfolders/fileलेकिन folderमेरे सारे काम खत्म करने के बाद दुर्घटना में प्रवेश कर गया । / मेरे कीबोर्ड पर प्रवेश से 1 सेमी है और मैं अलग-अलग कीबोर्ड लेआउट वाली मशीनों के बीच स्विच करता हूं इसलिए अक्सर मेरी उंगलियों के 10-15 मिनट नए पदों पर आ जाते हैं। 2018 में विश्वास करना मुश्किल है कि गिट फाइलों को कचरा कर देता है, भले ही यह गीट बुक में कहे कि जीआईटी काम नहीं करने के तरीके से बाहर है।
यदि आप एक "पेशेवर" आईडीई अवसरों का उपयोग कर रहे हैं, तो आप स्थानीय इतिहास से फ़ाइलों को पुनर्स्थापित कर सकते हैं। उदाहरण के लिए Rubymine में आप फाइलों को राइट क्लिक कर सकते हैं और git परिवर्तनों से स्वतंत्र परिवर्तनों का इतिहास देख सकते हैं, मुझे कुछ समय बचा है ^ ^
यदि आप Sublime Text जैसे संपादक में काम कर रहे हैं, और आपके पास अभी भी खुला प्रश्न है, तो आप ctrl + z दबा सकते हैं, और यह उस स्थिति में वापस आ जाएगा, जब यह git checkout से पहले था।
दुर्भाग्य से आपके परिवर्तन खो गए हैं। आपके निजी संशोधन केवल ओवरराइट किए गए हैं। जब तक आपने git stashचेकआउट करने से पहले ...
इसे उज्जवल पक्ष से लें: अब आप चीजों को बेहतर तरीके से लागू कर सकते हैं;)
अपने आईडीई में स्थानीय इतिहास की जाँच करें।
OS X पर विकास ? Xcode का उपयोग करना ? आप भाग्य में होने की संभावना है!
जैसा कि qungu की एक टिप्पणी में वर्णित है , OS X फाइलों का एक स्वतः सहेजा गया संस्करण इतिहास रखता है, भले ही आप टाइम मशीन का उपयोग न कर रहे हों ।
इसलिए, यदि आप एक लापरवाह के साथ अपने unstaged स्थानीय परिवर्तन उड़ा दिया है git checkout ., आपके द्वारा कर सकते हैं शायद अपने सभी काम ठीक हो।
अगर किसी को यह पता चलता है कि XCode में कुछ काम नष्ट हो गया है, तो AutoSave इतिहास प्राप्त करने का एक तरीका है। XCode में AutoSave इतिहास देखने के लिए मेनू प्रविष्टि नहीं है, लेकिन यह इसे संग्रहीत करता है। यदि आप TextEdit में विचाराधीन फ़ाइलों को खोलते हैं, तो आप फ़ाइल> रिवर्ट के तहत ऑटोवेव इतिहास के माध्यम से पुन: देख सकते हैं और देख सकते हैं।
जो कमाल है, और कल मेरे लिए काम का एक दिन है।
आप पूछ सकते हैं, "जीआईटी कमांड-लाइन यूआई क्यों नहीं करता है, सॉफ्टवेयर इंजीनियरिंग के लिए इस्तेमाल किया जाने वाला प्रमुख वीसीएस2016 2017 20182019, कम से कम फ़ाइलों को वापस उड़ाने से पहले उन्हें हटा दें? जैसे, आप जानते हैं, पिछले तीन दशकों के लिए अच्छी तरह से लिखे गए सॉफ्टवेयर टूल। "
या शायद आप पूछते हैं, "TextEdit में यह बेहद भयानक फ़ाइल इतिहास सुविधा क्यों सुलभ है लेकिन Xcode नहीं है जहां मैं वास्तव में हूं?"
... और मुझे लगता है कि दोनों, हमारे उद्योग के बारे में आपको काफी कुछ बताएंगे। या हो सकता है कि आप जाकर उन उपकरणों को ठीक कर लें। जो सुपर होगा।
Modelदुर्भाग्यपूर्ण थी
VSCODE में ctrl + z (undo) ने मेरे लिए काम किया
मैंने इसके git checkout .बजाय किया git add .और मेरी सभी फ़ाइल परिवर्तन खो गए थे।
लेकिन अब command + zमेरे मैक में उपयोग करते हुए, परिवर्तनों को पुनर्प्राप्त किया और मेरे लिए काम का एक स्वर बचा।
यदि आपने पहले कभी बदलाव किए हैं (उदाहरण के लिए, रिबासिंग से पहले), तो इससे मदद मिलेगी
Git में गिरा हुआ निशान कैसे ठीक करें?
यहां तक कि अगर आप पहले से ही परिवर्तनों को 'स्टेश पॉप' कर चुके हैं।
इस तरह की स्थिति के लिए एक प्रभावी उद्धारकर्ता टाइम मशीन (ओएस एक्स) या इसी तरह का समय-आधारित बैकअप सिस्टम है। यह मुझे एक बार बचाया है क्योंकि मैं वापस जा सकता हूं और बस एक फ़ाइल को पुनर्स्थापित कर सकता हूं।
मेरे पास बस इतना ही हुआ था, मैंने काम के घंटे वाले एक पूरे फ़ोल्डर की जाँच की! सौभाग्य से मुझे पता चला कि मेरा आईडीई नेटबीन्स प्रत्येक फ़ाइल का इतिहास रखता है, जिसने मुझे 99% सामान को पुन: व्यवस्थित करने की अनुमति दी, हालांकि मुझे मैन्युअल रूप से कुछ चीजों को ठीक करने की आवश्यकता थी।
मैं आमतौर पर ड्रॉपबॉक्स फ़ोल्डर में अपने सभी काम करता हूं। यह मुझे सुनिश्चित करता है कि मेरे पास मेरे स्थानीय मशीन और जीथब के बाहर वर्तमान फ़ोल्डर उपलब्ध होगा। मुझे लगता है कि git के अलावा "संस्करण नियंत्रण" की गारंटी देना मेरा दूसरा कदम है। अपनी फ़ाइल को अपनी ड्रॉपबॉक्स फ़ाइलों के पिछले संस्करणों में वापस लाने के लिए आप इसका अनुसरण कर सकते हैं
उम्मीद है की यह मदद करेगा।
तकनीकी रूप से हाँ। लेकिन केवल कुछ उदाहरणों पर। यदि उदाहरण के लिए आपके पास कोड पेज है और आपने गिट चेकआउट मारा है, और आपको पता चलता है कि आपने गलती से गलत पेज या कुछ और चेक किया है। पृष्ठ पर जाएं और पूर्ववत करें पर क्लिक करें। (मेरे लिए, कमांड + z), और यह ठीक उसी जगह पर वापस जाएगा जहां आप पुराने पुराने गिट चेकआउट को हिट करने से पहले थे।
यदि आपका पृष्ठ बंद हो गया है, तो यह काम नहीं करेगा, और फिर आपने गिट चेकआउट मारा। यह केवल तभी काम करता है जब वास्तविक कोड पेज खुला हो
आप एक टर्मिनल / के साथ काम करते हैं शीघ्र खुला cmd, और किसी भी Git आदेशों unstaged परिवर्तन (पता चला है | इस्तेमाल किया diff, add -p, checkout -p, आदि), और बंद नहीं किया है टर्मिनल / के बाद से शीघ्र cmd, आप unstaged परिवर्तन मिलेंगे यदि आप उन उपर्युक्त git कमांड को चलाते हैं, जहां आप स्क्रॉल करते हैं, तब भी उपलब्ध हैं।
Dude,
मान लें कि आप बहुत भाग्यशाली आदमी हैं जैसे मैं गया हूं, अपने संपादक पर वापस जाएं और एक पूर्ववत करें (कमांड + जेड फॉर मैक), आपको फ़ाइल में अपनी खोई हुई सामग्री देखनी चाहिए। आशा है कि इसने आपकी मदद की। बेशक, यह केवल मौजूदा फ़ाइलों के लिए काम करेगा।
हो सकता है कि आपके परिवर्तन नष्ट न हों। "Git reflog" की जाँच करें
मैं नीचे दिए गए लेख को उद्धृत करता हूं:
"मूल रूप से हर कार्य जिसे आप Git के अंदर करते हैं जहां डेटा संग्रहीत किया जाता है, आप इसे रिफ्लॉग के अंदर पा सकते हैं। Git वास्तव में कठिन प्रयास करता है कि आप अपना डेटा न खोएं, इसलिए यदि किसी कारण से आपको लगता है कि आपके पास संभावना है, तो आप इसे खोद सकते हैं git reflog का उपयोग करके "
विवरण देखें:
http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html
git reflogयहां पर ध्यान देने योग्य बात समझें , मुझे यह उत्तर तब मिला जब मैं इसे पूर्ववत करने के लिए खोज रहा था git checkout HEAD .- मुझे टाइप करने का मतलब था git reset HEAD .- मैंने सिर्फ 'git रीसेट --soft HEAD ~ 1' किया था और मुझे पता नहीं था इसके बारे में git reflogमैं जो काम कर पाया था उसे वापस पाने में सक्षम था :)