पाठ 19 / 28

git reset: soft, mixed, hard

git reset --soft, --mixed और --hard से branch पीछे ले जाएँ और जानें कि हर एक कितना हटाता है।

तीन प्रकार

--soft बदलावों को स्टेज्ड रखता है, --mixed (डिफ़ॉल्ट) उन्हें अनस्टेज्ड रखता है, --hard उन्हें पूरी तरह मिटा देता है।

git reset --soft HEAD~1    # undo commit, keep changes staged
git reset HEAD~1           # undo commit, keep changes unstaged
git reset --hard HEAD~1    # undo commit AND discard changes

--hard विनाशकारी है

git reset --hard अनकमिटेड काम को स्थायी रूप से मिटा देता है। इसे चलाने से पहले git status दोबारा जाँच लें — कोई पुष्टि संदेश नहीं आता।

त्वरित जाँच: कौन-सा reset मोड बदलावों को पूरी तरह मिटा देता है?

  • --soft
  • --hard
  • --mixed
  • --keep
Answer

--hard — --hard कमिट हिस्ट्री और वर्किंग डायरेक्टरी दोनों को रीसेट करता है, अनकमिटेड काम मिटा देता है।