خلاصه جلسه: برگردوندن و ریست کردن پروژه به یک کامیت خاص در Git
1. دستور اصلی برای ریست
git reset <commit-id>
- <commit-id> همون هش (hash) کامیت مورد نظره که میخوای بهش برگردی.
2. انواع ریست
Soft Reset
git reset --soft <commit-id>
- برمیگردونه پروژه به اون کامیت.
- تغییرات بعد از اون کامیت همچنان داخل Stage باقی میمونه.
- انگار فقط HEAD جابهجا شده.
Mixed Reset (حالت پیشفرض)
git reset --mixed <commit-id>
- برمیگردونه پروژه به اون کامیت.
- تغییرات از Stage برداشته میشن ولی هنوز داخل Working Directory هستن.
- میتونی دوباره اونا رو Add و Commit کنی.
Hard Reset
git reset --hard <commit-id>
- هم Stage و هم Working Directory رو پاک میکنه.
- همه تغییرات بعد از اون کامیت از بین میرن (غیرقابل برگشت مگر با Reflog).
3. نکات مهم
- بعد از ریست، اشارهگر HEAD به اون کامیت منتقل میشه.
- اگر اشتباهی Hard Reset کردی، میتونی با git reflog تاریخچهی جابهجایی HEAD رو ببینی و دوباره برگردی.
برای فقط برگشت به حالت فایلها بدون تغییر تاریخچه، بهتره از:
git checkout <commit-id> -- <filename>
استفاده کنی.