روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ امیر حق شناس
برگردوندن و ریست کردن پروژه به یک کامیت خاص
جامعه Html & CSS ایجاد شده در ۲۱ شهریور ۱۴۰۴

خلاصه جلسه: برگردوندن و ریست کردن پروژه به یک کامیت خاص در Git


1. دستور اصلی برای ریست

 

git reset <commit-id>

  • <commit-id> همون هش (hash) کامیت مورد نظره که می‌خوای بهش برگردی.

2. انواع ریست

  1. Soft Reset

     

    git reset --soft <commit-id>

    • برمی‌گردونه پروژه به اون کامیت.
    • تغییرات بعد از اون کامیت همچنان داخل Stage باقی می‌مونه.
    • انگار فقط HEAD جابه‌جا شده.
  2. Mixed Reset (حالت پیش‌فرض)

     

    git reset --mixed <commit-id>

    • برمی‌گردونه پروژه به اون کامیت.
    • تغییرات از Stage برداشته می‌شن ولی هنوز داخل Working Directory هستن.
    • می‌تونی دوباره اونا رو Add و Commit کنی.
  3. Hard Reset

     

    git reset --hard <commit-id>

    • هم Stage و هم Working Directory رو پاک می‌کنه.
    • همه تغییرات بعد از اون کامیت از بین می‌رن (غیرقابل برگشت مگر با Reflog).

3. نکات مهم

  • بعد از ریست، اشاره‌گر HEAD به اون کامیت منتقل می‌شه.
  • اگر اشتباهی Hard Reset کردی، می‌تونی با git reflog تاریخچه‌ی جابه‌جایی HEAD رو ببینی و دوباره برگردی.
  • برای فقط برگشت به حالت فایل‌ها بدون تغییر تاریخچه، بهتره از:

     

    git checkout <commit-id> -- <filename>

    استفاده کنی.