restore — تراجع عن تعديلات الملفّات
git restore file.txt # ألغِ التعديلات غير المجهّزة
git restore --staged file.txt # أزل من التجهيز (يبقي التعديل)
reset — تحريك مؤشّر الفرع
git reset --soft HEAD~1 # يلغي آخر commit ويبقي التغييرات مجهّزة
git reset --mixed HEAD~1 # (افتراضي) يبقيها غير مجهّزة
git reset --hard HEAD~1 # يمحو آخر commit وتغييراته نهائيًا
⚠️
--hardيحذف العمل غير المحفوظ — استخدمه بحذر.
revert — تراجع آمن للتاريخ المشترك
ينشئ commit جديدًا يعكس تغييرات commit سابق دون حذف التاريخ:
git revert <hash>
أيّها أختار؟
- محليًا قبل المشاركة:
reset. - تاريخ مدفوع ومشترك:
revert(آمن).
🎯 التالي: انتقاء الـ commit (Cherry-pick).