git checkout -- .
स्पष्ट रूप से केवल वर्तमान निर्देशिका (और इसके उपनिर्देशिका) पर काम करेगा, git reset --hard
पूर्ण कार्यरत पेड़ पर काम करेगा।
git checkout -- .
केवल काम करने वाले पेड़ को अपडेट करेगा और पहले से ही चरणबद्ध फ़ाइलों को छोड़ देगा, जबकि git reset --hard
हेड प्रतिबद्धता के साथ सूचकांक और काम करने वाले पेड़ से मेल खाता है।
जब एक refspec के साथ प्रयोग किया:
reset
दिया प्रतिबद्ध करने के लिए वर्तमान शाखा सिर सेट हो जाएगा (और सूचकांक और काम कर पेड़ से मेल खाता है)
checkout
, उस शाखा में बदल जाएगा स्थानीय परिवर्तनों को बनाए छोड़ रहा है, जब वे स्पर्श फ़ाइलें जो वर्तमान शाखा और शाखा के बीच परिवर्तन नहीं किया बाहर जांच की जानी
संभावित डुप्लिकेट [क्या "गिट रीसेट - हार्ड हैश" और "गिट चेकआउट हैश" के बीच कोई अंतर है?] (Http://stackoverflow.com/questions/2541545/is-there-a-difference-between -git-रीसेट-कड़ी मेहनत से हैश और Git-चेकआउट-हैश) – Casebash