يتيح لك التخزين الاحتفاظ بنسخة من التغييرات التي أجريتها على أحد المستودعات ، دون الحاجة إلى إنشاء التزام.

إنه مفيد إذا كنت تقوم بتبديل السياقات ، خاصة إذا كنت تتنقل بين الأخطاء أو المهام المختلفة في نفس المشروع.

العملية الأساسية لـ git stash

تستطيع استخدم git stash لتسهيل سير عملك عند التعامل مع خطوط العمل المتوازية. تخيل أنك تعمل في مهمة طويلة الأمد ، مع تغييرات في نسخة العمل المحلية. بعد ذلك ، يظهر شيء عاجل يتعين عليك العمل عليه على الفور.

سير العمل القياسي لإخفاء التغييرات هو:

  1. قم بإجراء تغييرات محلية
  2. خبأ التغييرات المحلية
  3. إعادة تطبيق التغييرات المخبأة

عندما تقوم بإخفاء التغييرات باستخدام ملف git stash [دفع] الأمر ، git يعيد التعيين إلى HEAD. يمكنك بعد ذلك مواصلة العمل على كل ما تحتاج إليه ، والالتزام بالمستودع كما لو لم تقم مطلقًا بإجراء التغييرات الأصلية.

بمجرد الانتهاء من أي جانب يتتبعك في المقام الأول ، استخدم بوابة خبأ البوب لتطبيق التغييرات وإزالتها من المخزن. يمكنك أيضًا تطبيق تغييراتك والاحتفاظ بها في المخزن تطبيق git stash. قد يكون هذا مفيدًا إذا كنت تريد تطبيق التغييرات بسرعة على عدة فروع.

instagram viewer

العمل مع أكثر من مخبأ

إذا كنت مشغولاً حقًا ، فقد تجد نفسك تعمل على عدة مهام في وقت واحد ، وقد تحتاج إلى تخزينها جميعًا. لا تقلق ، فقد تم تصميم git stash لهذا الغرض.

في كل مرة تستخدم فيها git stash push ، فإنك تحفظ مجموعة أخرى من التغييرات. يستخدم قائمة git stash لإظهار كل ما قمت بتخزينه. سترى شيئًا مثل هذا قليلاً:

stash @ {0}: WIP على main: 2fba62e الالتزام الأول
stash @ {1}: WIP على main: 2fba62e الالتزام الأول

هذه الرسائل ليست مفيدة للغاية ، ولكن يمكنك ترك بعض الأدلة لنفسك عن طريق إضافة رسالة مخصصة عندما تخفي:

git stash push -m "الثالث"

عندما تدرج الآن ، سترى رسالتك المخصصة:

stash @ {0}: رئيسي: ثالثًا
stash @ {1}: WIP على main: 2fba62e الالتزام الأول

عرض الفروق بين الفروق

لمعرفة ما تغير في مخبأ ، استخدم عرض بوابة خبأ. بدون مزيد من الحجج ، سيُظهر ملخصًا مختلفًا لآخر مخبأ ، يبدو كالتالي:

عرض git stash $
README.md | 3 +++
تم تغيير ملف واحد ، و 3 إدخالات (+)

يمكنك أيضًا تمرير معرف مخفي للاستعلام عن إدخال معين:

git stash show stash @ {0}

إنشاء فرع من مخبأ

قد تقرر أن التغييرات في المخبأ كبيرة جدًا بحيث تستحق أن تكون في فرع خاص بها. لو ذلك، إنشاء فرع جديد من المخزن باستخدام ملف فرع يأمر:

فرع git stash

مرة أخرى ، سيعمل هذا على أحدث مخبأ افتراضيًا ، ولكن يمكنك توفير معرف مخبأ إذا لزم الأمر. يقوم Git بإنشاء فرعك الجديد من نفس النقطة في المستودع مثل المخبأ. ثم يقوم بتطبيق التغييرات من المخبأ على نسخة العمل الخاصة بك.

تنظيف Stash Up

لا يوجد أمر "git unstash". إذا كنت تريد إزالة إدخال مخبأ ، فاستخدم الإفلات:

بوابة المخبأ يسقط

مرة أخرى ، يتم تعيين هذا افتراضيًا على الأحدث ولكن يمكنك توفير معرف مخبأ بدلاً من ذلك. إذا قررت أنك تريد التخلص من كل شيء خبأته ، فاستخدم هذا الأمر:

git stash مسح

استخدم git stash للالتزامات المؤقتة خفيفة الوزن

مخابئ Git ليست في مكان قريب من قوة المستودعات الكاملة. لكنهم ما زالوا يقدمون الكثير من الوظائف المفيدة في حد ذاتها. استخدم المخبأ إذا وجدت نفسك في كثير من الأحيان بحاجة إلى تبديل الفروع في منتصف العمل.

Stashing هو مجرد جزء صغير من git ، وهو برنامج به الكثير لتقدمه.