Git reset का क्या अर्थ है - मूल / गुरु?


224

मैंने एक किया git pullऔर एक त्रुटि हुई:

निम्न कार्यशील ट्री फ़ाइलों को मर्ज द्वारा अधिलेखित कर दिया जाएगा ... कृपया विलय करने से पहले उन्हें स्थानांतरित या निकाल दें।

इसे हल करने के लिए मैंने निम्नलिखित कार्य किए:

git fetch
git reset --hard origin/master

अब जब मैं करता हूं git pull, यह सब कुछ अप टू डेट कहता है। मैं जानना चाहता हूं कि जब मैं इन आदेशों को चलाता हूं तो वास्तव में क्या होता है। मुझे पता git fetchहै कि रिमोट रेपो से बदलावों को अपने स्थानीय रेपो में विलय किए बिना।

का अर्थ क्या है git reset --hard origin/master? यह कैसे काम करता है?

जवाबों:


415
git reset --hard origin/master

कहता है: मेरे सभी मंचन और अस्थिर परिवर्तनों को फेंक दो, मेरी वर्तमान स्थानीय शाखा पर सब कुछ भूल जाओ और इसे बिल्कुल वैसा ही बनाओ origin/master

कमांड चलाने से पहले आप शायद यह पूछना चाहते थे। विनाशकारी प्रकृति को "हार्ड रीसेट" के समान शब्दों का उपयोग करके संकेत दिया गया है।


9
आप इस चाल का उपयोग करके पूर्ववत कर सकते हैं git reset --hard HEAD@{1}HEAD@{1}स्थिति से परिस्थिति में भिन्नता है इसलिए आपको इसमें खोज करने की सलाह दी जाती है git reflog
निल्स वर्नर

2
ध्यान दें कि इस कदम को पूर्ववत करने के लिए @ NilsWerner की विधि चरणबद्ध और अस्थिर परिवर्तनों को पुनर्स्थापित नहीं करती है। वे अच्छे के लिए चले गए हैं।
माइकल एंडरसन

3
चरणबद्ध फ़ाइलें अभी भी साथ मिल सकती हैं git fsck --lost-found, लेकिन वे अपने मूल फ़ाइल पथ से जुड़ी नहीं होंगी और इनके माध्यम से छांटना मुश्किल हो सकता है।
सीबी बेली

1
जब आप (शायद गलती से) एक स्थानीय शाखा के बजाय अपने स्थानीय मास्टर में परिवर्तन कर लेते हैं, तो अपनी स्थानीय मास्टर शाखा को मूल / मास्टर में रीसेट करना अक्सर उपयोगी होता है। बस अपने नवीनतम आवागमन के लिए एक स्थानीय शाखा बनाएं और फिर अपने स्थानीय मास्टर को मूल / मास्टर में रीसेट करें। फिर आप अपनी शाखा को आवश्यकतानुसार मास्टर से मर्ज या रिबेट कर सकते हैं।
माइक हूपर

2
lol "hinted at" यह वर्णन करने का एक शानदार तरीका है, क्योंकि यह कहीं भी स्पष्ट या स्पष्ट नहीं है
बेन सैंडीन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.