التراجع عن تعديلات لم تُحفظ
لإلغاء تغييرات ملف قبل add:
git restore file.txt # أرجع الملف لآخر نسخة محفوظة
إخراج ملف من منطقة التجهيز
git restore --staged file.txt # تراجع عن git add
تعديل آخر commit
نسيت ملفًا أو أخطأت في الرسالة؟
git add forgotten.txt
git commit --amend -m "رسالة محدّثة"
تراجعت عن commit كامل؟
لتصحيح أخطاء أعمق من ملف واحد — إلغاء آخر commit بالكامل أو أكثر — يوجد أمران:
git reset: يحذف commits محليًا (قبل الرفع/push فقط).git revert: ينشئ commit جديدًا يلغي تغييرًا سابقًا (آمن حتى بعد الرفع).
git reset --soft HEAD~1 # مثال سريع: تراجع عن آخر commit (يبقي التغييرات)
⚠️ لـ
resetأنماط أخرى (--mixed،--hard) وفروقات مهمة عنrevert— راجع درس التراجع: reset و revert و restore للتعمّق الكامل.
القاعدة الذهبية
- محليًا (لم ترفع بعد):
resetمقبول. - بعد الرفع للفريق: استخدم
revertدائمًا حتى لا تُفسد تاريخ الآخرين.
🎯 التالي: العمل الجماعي وحلّ التعارضات.