git stash تحفظ مؤقتاً التغييرات غير المرتكبة وتعيد مجلد العمل إلى حالة نظيفة — بحيث يمكنك تبديل السياق (مثلاً إصلاح خطأ عاجل في فرع آخر) دون ارتكاب عمل لم ينته، ثم استعادة التغييرات لاحقاً.
المشكلة التي تحلها stash
You're mid-work with uncommitted changes, but need to switch context urgently:
→ switch branches? Git may refuse (uncommitted changes would conflict) or carry
them along messily
→ commit half-done work? No — it's not ready (pollutes history)
→ STASH saves your changes aside, giving you a clean working directory to switch.
استخدام stash
git stash
git stash push -m
git stash list
git stash pop
git stash apply
git stash apply stash@{1}
git stash drop stash@{0}
git stash clear
