ما هو Git Stash وكيف أستخدمه؟
إذا كنت تعمل على مشروع برمجي باستخدام نظام التحكم في الإصدارات Git، فمن المحتمل أنك صادفت مواقف تحتاج فيها إلى الانتقال إلى فرع آخر أو تنفيذ أمر معين دون فقدان التغييرات غير المُنفّذة في ملفاتك. هنا يأتي دور Git Stash، وهو ميزة قوية توفر لك مرونة في إدارة التغييرات غير المُنفّذة. في هذه المقالة، سنتناول تعريف Git Stash، كيفية استخدامه، وأبرز السيناريوهات التي يمكن أن يساعدك فيها.
ما هو Git Stash؟
Git Stash هو أداة داخلية في Git تُستخدم لحفظ التغييرات غير المُنفّذة في مساحة عملك بشكل مؤقت دون الحاجة إلى إنشاء commit. يتم تخزين هذه التغييرات في قائمة مؤقتة يمكن الوصول إليها لاحقًا، مما يتيح لك الانتقال إلى فرع آخر أو العمل على مهمة مختلفة دون فقدان تقدمك الحالي.
بكلمات أخرى، Git Stash يعمل كمنطقة انتظار للتغييرات. يمكنك التفكير فيه كطريقة “لتجميد” الحالة الحالية لمشروعك واستعادتها لاحقًا عند الحاجة.
كيفية استخدام Git Stash
في هذا القسم، سنشرح الخطوات الأساسية لاستخدام Git Stash مع أمثلة عملية لتوضيح كيفية عمله.
1. حفظ التغييرات باستخدام Git Stash
لحفظ التغييرات غير المُنفّذة، يمكنك استخدام الأمر التالي:
git stash
هذا الأمر يقوم بحفظ جميع التغييرات غير المُنفّذة في مساحة العمل الخاصة بك (بما في ذلك الملفات المُعدّلة والجديدة) وإعادة المشروع إلى حالة نظيفة.
إذا كنت ترغب في إضافة وصف للتغيير المُخزن لتسهيل التعرف عليه لاحقًا، يمكنك استخدام الأمر:
git stash save "وصف التغيير"
2. عرض قائمة التغييرات المُخزنة
لعرض قائمة بالتغييرات التي تم تخزينها باستخدام Git Stash، يمكنك تنفيذ الأمر:
git stash list
سيعرض هذا الأمر قائمة بجميع العناصر الموجودة في المخزن، مع تحديد أسمائها ورموزها الفريدة.
3. استعادة التغييرات المخزنة
لاستعادة التغييرات المخزنة، يمكنك استخدام الأمر:
git stash apply
هذا الأمر يستعيد التغييرات الأخيرة من المخزن إلى مساحة العمل الخاصة بك. إذا كنت تريد استعادة تغيير معين من القائمة، يمكنك تحديده باستخدام رقمه:
git stash apply stash@{n}
4. حذف العناصر من Git Stash
بعد استعادة التغييرات، يمكنك حذف العنصر من المخزن باستخدام الأمر:
git stash drop stash@{n}
إذا كنت ترغب في حذف جميع العناصر المخزنة دفعة واحدة، استخدم:
git stash clear
سيناريوهات استخدام Git Stash
هناك العديد من السيناريوهات التي يكون Git Stash فيها مفيدًا جدًا، ومنها:
- الانتقال بين الفروع: إذا كنت بحاجة إلى تبديل الفرع بسرعة دون الحاجة إلى الالتزام بالتغييرات الحالية.
- اختبار الميزات: إذا كنت تعمل على ميزة جديدة وترغب في العودة مؤقتًا لفحص جزء آخر من الكود.
- إدارة الأخطاء: عندما تواجه خطأً غير متوقع وتحتاج إلى العمل عليه دون فقدان التقدم في ميزتك الحالية.
أوامر إضافية مفيدة
إليك بعض الأوامر الإضافية التي قد تكون مفيدة أثناء استخدام Git Stash:
-
git stash pop
: يستعيد التغييرات من المخزن ويحذف العنصر المُستعاد تلقائيًا. -
git stash branch branch_name
: يقوم بإنشاء فرع جديد يحتوي على التغييرات المخزنة. -
git stash show -p stash@{n}
: يعرض تفاصيل التغييرات في عنصر محدد داخل المخزن.
نصائح وإرشادات
لتحقيق أقصى استفادة من Git Stash، ضع في اعتبارك النصائح التالية:
- حاول استخدام وصف واضح عند تخزين التغييرات لتسهيل التعرف عليها لاحقًا.
-
تذكر أن Git Stash لا يحفظ التغييرات على الملفات غير المُدرجة (unstaged)، لذا تأكد من إضافتها باستخدام
git add
إذا لزم الأمر. - قم بتنظيف المخزن بانتظام لتجنب تراكم العناصر القديمة وغير المستخدمة.