रीसेट गिट रीसेट न करें - यह स्थायी है!
git stash -u
बजाय
का उपयोग करें! यदि आपके पास काम का एक टुकड़ा है जिसमें आप दुर्घटनाग्रस्त हो जाते हैं, तो भी आप इसे वापस प्राप्त कर सकते हैं। यह तब तक आपके रिमोट पर धकेलता नहीं है जब तक कि आप इसे बाहर निकालने और इसे दबाकर ऐसा करने का विकल्प नहीं चुनते।
इसके अलावा, आप सही ट्रैक पर हैं कि आप एक ही चीज़ को पूरा करने के लिए git checkout
का उपयोग कर सकते हैं। वाक्यविन्यास
git checkout HEAD -- .
लेकिन यह git reset --hard
जैसी ही समस्या है। छेड़छाड़ के साथ चिपकाओ और आप भविष्य में अपने बालों को खोने से बचाएंगे।
लंबे समय तक जवाब
ऊपर समाधान अपने सभी परिवर्तनों को वापस। हालांकि, आपने कुछ बदलावों से छुटकारा पाने के लिए कहा था। मैं इसे पूर्णता के लिए जोड़ दूंगा।
ऐसा करने के लिए, आप
git add file1 file2 file3
git stash save --patch
अब आप वास्तव में क्या आप गायब बनाना चाहते के लिए प्रेरित किया जाएगा कर सकते हैं ... जो भी विवरण के किसी स्तर तक नीचे। इसलिए यदि आप ऐसा करना चुनते हैं तो आप एक फ़ाइल में केवल कुछ बदलावों को सुरक्षित रूप से "अस्वीकार कर सकते हैं"।
स्रोत
2012-10-23 17:03:14
फिर, 'रीसेट' आपकी अनुक्रमणिका और कार्यशील निर्देशिका को पिछले राज्य में रीसेट करने के लिए है। 'चेकआउट' एक नई या अलग शाखा की जांच के लिए है। एक बार जब आप इसका इस्तेमाल करते हैं तो यह इतना भ्रमित नहीं होता है। =) –
कूल ट्यूटोरियल्स के लिए http://www.gitready.com/ और http://learn.github.com/p/intro.html देखें, और उसके बाद http://gitref.org किसी संदर्भ के लिए जब आप ' तैयार –
असल में, आप किसी भी प्रतिबद्धता की स्थिति में अपने काम करने वाले पेड़ को बदलने के लिए 'गिट चेकआउट' का उपयोग कर सकते हैं - यदि आप शाखा की जांच नहीं कर रहे हैं, तो यह हेड को अलग कर देगा, लेकिन यह सब ठीक काम करता है। (उदाहरण के लिए, आमतौर पर 'गिट बिसेक्ट' शुरू करते समय आखिरी अच्छी प्रतिबद्धता को खोजने का प्रयास करते समय आप क्या करते हैं।) –