2011-10-21 11 views
27

गिट स्थानीय शाखा में परिवर्तन कैसे रद्द करें? उदाहरण के लिए, संस्करण के साथ स्थानीय शाखा: ए-> बी-> सी अब मैं संस्करण ए पर हूं, और इसमें नवीनतम संस्करण सी के साथ कुछ बदलाव हुए हैं। मैं स्थानीय परिवर्तनों को छोड़ना चाहता हूं और नवीनतम संस्करण सीगिट स्थानीय शाखा में परिवर्तन कैसे रद्द करें?

खींचना चाहता हूं
$ git pull 

मुझे कुछ त्रुटि मिल जाएगी। और कई फाइलें हैं, इसलिए मुझे कई बार करने की आवश्यकता नहीं है $ git co files

क्या कोई बेहतर तरीका है?

उत्तर

54

आप अप्रतिबद्ध परिवर्तन है कि आप अभी नहीं करना चाहते हैं, तो इस का उपयोग करें:

$ git reset --hard 

जो बराबर है

को
$ git reset --hard HEAD 

यह सब स्थानीय अप्रतिबद्ध परिवर्तन निकाल देता है। यदि आप अपनी स्थानीय शाखा से कुछ अपमानजनक कामों को हटाना चाहते हैं, तो इसे पुनः प्रयास करने का प्रयास करें:

$ git reset --hard HEAD^ #moves HEAD back by one commit 

या उदा।

$ git reset --hard HEAD~3 #moves HEAD back by 3 commits 

सावधानी के साथ इनका उपयोग करें, क्योंकि आप इन परिचालनों को पूर्ववत नहीं कर पाएंगे। एक बार जब आप अपनी स्थानीय शाखा को साफ कर लेंगे, तो नवीनतम कोड प्राप्त करने के लिए git pull का उपयोग करें।

+0

करना चाहिए रीसेट आप पहले से ही आप के रूप में यह गंदगी इतिहास कर सकते हैं --hard रीसेट के साथ सावधान रहने की जरूरत है एक दूरस्थ सर्वर से अपनी शाखा धकेल दिया है। –

+0

यह असामान्य फ़ाइलों को हटा नहीं देता है। आपको इन फ़ाइलों को मैन्युअल रूप से हटाना होगा। –

0

क्या आपने पहले से ही अपने स्थानीय परिवर्तनों को कम किया है? एक Git नहीं हैं --hard HEAD चाल

+0

आप स्थानीय स्तर पर किए गए परिवर्तनों को पूर्ववत भी कर सकते हैं, अयॉय के समाधान को देखें। – jli

19
git fetch 
git reset --hard origin/master 
+0

'गिट रीसेट - हार्ड मूल/मास्टर' वही है जो मैं ढूंढ रहा था! – mystarrocks

+0

यह माना जाता है कि आप किसी बिंदु पर रिमोट में चेक किया गया है, क्या यह स्थानीय रिपोज़ पर भी लागू होता है? क्या मैं एक ही प्रभाव के लिए 'गिट रीसेट - अन्य लॉक ब्रांच' कर सकता हूं? –

+0

यह वही है जो मैं गलती से दूसरी शाखा से खींचा गया काम छोड़ने की तलाश में था। धन्यवाद @Onlyjob –

संबंधित मुद्दे