شرح صفوف ومحتوى الفقرة
راجع جدول المقارنة الشامل التالي لاختيار وضع git reset أو أمر التراجع الأنسب لكل موقف برمجي:
| الأمر / الوضع | المؤشر HEAD | منطقة التجهيز Index | مجلد العمل Working Tree | أفضل حالة استخدام |
|---|---|---|---|---|
git reset --soft | يرجع للالتزام الهدف | تبقى مجهزة كما هي | يبقى سليماً دون تغيير | دمج عدة التزامات محلية حديثة في التزام واحد |
git reset --mixed | يرجع للالتزام الهدف | تُعاد لحالة الهدف | يبقى سليماً (غير مجهز) | إلغاء آخر التزام وإعادة تجهيز الملفات انتقائياً |
git reset --hard | يرجع للالتزام الهدف | تُعاد لحالة الهدف | يُستبدل بالكامل لحالة الهدف | التخلص التام من الالتزامات والتعديلات المحلية |
git revert <hash> | يتقدم بالتزام عكسي جديد | نظيفة | يُحدَّث بأمان | عكس التزام سابق دون مسح التاريخ |
git restore <file> | لا يتغير | لا تتغير (إلا مع --staged) | يستعيد ملفاً محدداً | التراجع عن تعديلات ملف واحد دون المساس بالسجل |
git reflog | فحص قراءة فقط | لا تتغير | لا يتغير | العثور على بصمة التزام مفقود بعد إعادة الضبط |
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس كيف يحرك الأمر git reset المؤشر HEAD ويؤثر في المناطق الثلاث عبر الأوضاع --soft لدمج الالتزامات، و--mixed الافتراضي لإلغاء التجهيز، و--hard لاستبدال شجرة العمل، كما تدربت على إنقاذ الالتزامات المفقودة عبر git reflog. الخطوة التالية: انتقل الآن إلى الدرس 19 «التخزين المؤقت للتعديلات غير المكتملة عبر الأمر git stash» لحفظ العمل قيد التنفيذ مؤقتاً دون الحاجة لإنشاء التزام.