Git & GitHub • المستوى الثاني • الدرس 4
العودة لفهرس المستوىنقل وتنظيف التغييرات (Git Stash & Branch Cleanup)
أهداف الدرس
- حفظ العمل غير المكتمل مؤقتاً بـ
git stashللتنقل بين الفروع بأمان. - استعراض الرفوف المخزنة بـ
git stash listواسترجاعها بـgit stash pop. - تنظيف الفروع المنتهية بـ
git branch -d <name>بعد دمجها. - فهم الفرق بين
stash pop(استرجاع + حذف) وstash apply(استرجاع فقط).
1. ما هو رف الحفظ المؤقت Git Stash؟
يسمح لك git stash بوضع تعديلاتك غير المكتملة في رف مؤقت (Stash Stack) وتنظيف مساحة العمل للتنقل بين الفروع، ثم إعادة تطبيقها لاحقاً بـ git stash pop.
bash
# سيناريو استخدام Stash
# أنت في منتصف ميزة ولم ترد حفظها كـ Commit
git stash # ← حفظ التعديلات في الرف
git stash list # ← عرض الرفوف: stash@{0}: WIP on main: ...
# الانتقال لمهمة عاجلة
git checkout main
# ... إصلاح عاجل ...
# العودة لعملك السابق
git checkout feature/navbar
git stash pop # ← استرجاع + حذف الرف تلقائياً2. أوامر Stash الشائعة
git stash
حفظ التعديلات الحالية في الرف وتنظيف مساحة العمل.
git stash list
عرض كل الرفوف المخزنة مع ترقيمها.
git stash pop
استرجاع أحدث رف وحذفه من القائمة.
git stash apply
استرجاع الرف دون حذفه (يبقى للاستخدام مرة أخرى).
3. تنظيف الفروع بعد الدمج
git branch -d <name>
حذف فرع آمن — يرفض الحذف إذا لم يُدمج (حماية من فقدان العمل).
git branch -D <name>
حذف قسري — يحذف حتى لو لم يُدمج (فقدان محتمل للعمل).
التطبيق العملي المباشر
تحدي الدرس الرابع: إدارة الرفوف وتنظيف الفروع
قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:
- هيّئ المستودع وأنشئ فرع
feature/navbarمع التزام (موجود في الكود الأولي). - عُد إلى
mainوأضف التغييرات بـgit add .. - احفظ التعديلات في الرف بـ
git stash. - اعرض قائمة الرفوف بـ
git stash list. - استرجع التعديلات بـ
git stash pop. - احذف الفرع المنتهي
feature/navbarبـgit branch -d feature/navbar.
⏳ جارٍ تحميل المحرر التفاعلي...