# git reset: soft, mixed, hard — गिट

Source: https://www.geekswithgeeks.com/hi/git/git-reset-modes

> ब्रांच पॉइंटर को पीछे ले जाएँ, तीन स्तर के प्रभाव के साथ।

## तीन प्रकार

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

```bash
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` दोबारा जाँच लें — कोई पुष्टि संदेश नहीं आता।

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

- [ ] --soft
- [ ] --mixed
- [x] --hard

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