انتقل إلى محتوى الدرس

Reset Modes vs Revert Restore مقارنة أوضاع reset والتراجع

أتقن آلية عمل git reset على المناطق الثلاث بأوضاعه --soft و--mixed و--hard، وتعلّم إنقاذ الالتزامات المفقودة عبر سجل الحركات المرجعي git reflog.
1 صفوف تعليمية
Version Control
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

راجع جدول المقارنة الشامل التالي لاختيار وضع 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» لحفظ العمل قيد التنفيذ مؤقتاً دون الحاجة لإنشاء التزام.