2013-03-15 9 views
91

मैंने एक गिट पुल किया और एक त्रुटि मिली "निम्नलिखित काम करने वाली पेड़ फ़ाइलों को विलय करके अधिलेखित किया जाएगा ... कृपया विलय करने से पहले उन्हें स्थानांतरित या हटा दें"। इसके समाधान के लिए मैं निम्नलिखितगिट रीसेट - हार्ड मूल/मास्टर का अर्थ क्या है?

git fetch 
git reset --hard origin/master 

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

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

उत्तर

176
git reset --hard origin/master 

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

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

+5

आप 'गिट रीसेट - हार्ड हेड @ {1} 'का उपयोग करके इस कदम को पूर्ववत कर सकते हैं। 'HEAD @ {1}' स्थिति से स्थिति में भिन्न होता है, इसलिए आपको सलाह दी जाती है कि इसे 'गिट रीफ्लॉग' में खोजें। –

+0

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

+1

स्टेज्ड फाइलें अभी भी 'git fsck --lost-found' के साथ पाई जा सकती हैं, लेकिन वे अपने मूल फ़ाइल पथ से जुड़े नहीं होंगे और उन्हें सॉर्ट करना मुश्किल हो सकता है। –

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