Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

إعادة تعيين Branch

جزء من قسم التحكم في الإصدارات في رحلة Terminal على Coddy — الدرس 44 من 58.

يقوم git reset بنقل مؤشر الفرع الحالي إلى التزام (commit) مختلف. الاستخدام الأكثر شيوعاً هو التراجع عن الالتزامات الأخيرة التي لم تشاركها بعد.

git reset --hard HEAD~1

ينقل هذا main للخلف بمقدار التزام (commit) واحد ويقوم بالكتابة فوق دليل العمل (working directory) للمطابقة. الالتزام الذي تخطيته لم يعد من الممكن الوصول إليه من فرعك (يحتفظ Git به لفترة من الوقت في حال غيرت رأيك، ولكن توقع اختفاءه).

هناك ثلاثة أنواع من إعادة الضبط:

  • --soft: تحريك مؤشر الفرع؛ الاحتفاظ بالتغييرات المدرجة
  • --mixed (افتراضي): تحريك المؤشر؛ إلغاء الإدراج ولكن الاحتفاظ بملفات العمل
  • --hard: تحريك المؤشر؛ التخلص من تغييرات ملفات العمل أيضاً

--hard هو الشكل الأكثر تدميراً. إنه رائع لتنظيف الأخطاء المحلية، ولكن لا تستخدمه أبداً على الالتزامات (commits) التي قام أشخاص آخرون بسحبها بالفعل.

challenge icon

التحدي

متوسط

يحتوي المجلد على doc.md. قم بتهيئة المستودع وإنشاء ثلاث عمليات إيداع بالترتيب:

  1. أضف doc.md مع رسالة Add doc.
  2. قم بإلحاق second بـ doc.md، وقم بالإيداع مع رسالة Second draft.
  3. قم بإلحاق third بـ doc.md، وقم بالإيداع مع رسالة Third draft.

قم بإجراء إعادة تعيين قوية (Hard-reset) للفرع للعودة إلى أول عملية إيداع باستخدام HEAD~2. اطبع محتويات doc.md.

ورقة مرجعية

يقوم git reset بنقل مؤشر الفرع الحالي إلى التزام (commit) مختلف. هناك ثلاثة أنواع:

  • --soft: نقل المؤشر؛ الاحتفاظ بالتغييرات المدرجة (staged)
  • --mixed (افتراضي): نقل المؤشر؛ إلغاء إدراج التغييرات ولكن الاحتفاظ بملفات العمل
  • --hard: نقل المؤشر؛ تجاهل تغييرات ملفات العمل
git reset --hard HEAD~1  # التراجع عن آخر التزام، وتجاهل التغييرات
git reset --hard HEAD~2  # التراجع عن آخر التزامين

تحذير: لا تستخدم --hard أبدًا على التزامات قام الآخرون بسحبها (pulled) بالفعل.

جرّب بنفسك

الطرفية
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس التحكم في الإصدارات