Git Stash
آخر تحديث
يقوم git stash بحفظ تغييراتك غير المُلتزَم بها ويعيد شجرة العمل إلى حالة نظيفة، حتى تتمكن من تبديل الفروع أو تنفيذ pull دون الالتزام بعمل نصف مكتمل. تنتقل التغييرات إلى مكدّس يمكنك إعادة تطبيقه لاحقًا باستخدام git stash pop (التطبيق والإزالة) أو git stash apply (التطبيق والاحتفاظ).
جرّب هذه الأوامر في ساحة الطرفية - صدفة حقيقية في متصفحك، لا شيء لتثبيته.
الصيغة
| Command | What it does |
|---|---|
git stash | يحفظ التغييرات المتعقَّبة وينظّف شجرة العمل |
git stash -u | يحفظ أيضًا الملفات غير المتعقَّبة |
git stash push -m "msg" | الحفظ مع رسالة وصفية |
git stash push <file> | يحفظ ملفًا محددًا فقط |
git stash list | يعرض قائمة بجميع الـ stashes |
git stash pop | يعيد تطبيق أحدث stash ويزيله |
git stash apply | يعيد تطبيق أحدث stash ويحتفظ به |
git stash drop | يحذف أحدث stash |
git stash clear | يحذف جميع الـ stashes |
pop vs apply
| Behavior | git stash pop | git stash apply |
|---|---|---|
| يعيد تطبيق التغييرات | نعم | نعم |
| يزيل الـ stash بعد ذلك | نعم | لا |
| جيد لإعادة استخدام stash | لا | نعم |
الأسئلة الشائعة حول git stash
ماذا يفعل git stash؟
يحفظ تغييراتك غير المُلتزَم بها في مكدّس ويعيد ضبط شجرة العمل إلى آخر التزام، مانحًا إياك بداية نظيفة. تغييراتك لا تُفقد - بل تُحفظ ويمكن إعادة تطبيقها لاحقًا باستخدام
git stash pop أو git stash apply. وهو مفيد عندما تحتاج إلى تبديل الفروع لكنك لست مستعدًا للالتزام بعد.ما الفرق بين git stash pop و git stash apply؟
كلاهما يعيد تطبيق أحدث stash لديك على شجرة العمل. يقوم
git stash pop أيضًا بإزالة ذلك الـ stash من المكدّس بعد ذلك، بينما يتركه git stash apply في المكدّس حتى تتمكن من تطبيقه مرة أخرى في مكان آخر. استخدم pop للاستعادة لمرة واحدة، و apply عندما تريد إعادة استخدام الـ stash.هل يتضمّن git stash الملفات غير المتعقَّبة؟
ليس افتراضيًا - يحفظ أمر
git stash البسيط الملفات المتعقَّبة (المعدّلة) فقط. أضف -u (git stash -u) لتضمين الملفات غير المتعقَّبة، أو -a لتضمين الملفات المتجاهَلة أيضًا. بدون هذه الرايات، تبقى الملفات الجديدة التي لم تنفّذ عليها git add في شجرة العمل لديك.كيف أطبّق stash محددًا؟
شغّل
git stash list لرؤيتها مُرقَّمة مثل stash@{0} و stash@{1}، ثم git stash apply stash@{1} (أو pop) لإعادة تطبيق واحد بعينه. يعرض كل stash أيضًا الفرع والرسالة اللذين أُنشئ بهما، حتى تتمكن من التمييز بينها.هل يمكنني التدرّب على هذا عبر الإنترنت؟
نعم. افتح ساحة الطرفية لتشغيل
git stash في صدفة حقيقية داخل متصفحك - لا شيء لتثبيته. كما تغطي دورة Git التفاعلية المجانية من Coddy إدارة العمل قيد التنفيذ خطوة بخطوة.