تا حالا شده که وسط کلی تغییرات باشید و یکی از هم تیمی های از شما بخواد که چیزی را ببینید یا تست کنید یا حتی اصلاح کنید؟ حتی بدتر از این، شده که وسط این تغییرات مجبور بشوید که تغییرات دیگران را هم از سرور گرفته و کاری روی انجام دهید؟ مسلماً اگر از امکانات مربوطه بیخبر بوده باشید، تا حالا تمام این درخواستها را به دلیل «وسط تغییرات» بودن رد کردهاید یا حداکثر اگر خیلی فرض بوده باشید یک نسخه دیگر را از سرور گرفته و از آنجا کار را دنبال کردهاید.
اما اگر از git استفاده میکنید یک راه حل دیگر وجود دارد: استفاده از stash. این امکان به شما کمک میکند تا همه تغییرات commit نشده فعلی را به طور موقت به جایی فرستاده و برگردید به وضعیت آخرین commit. بعد از این کار، به کاری که میخواهید رسیدگی میکنید. مثلا برنامه را اجرا میکنید یا آخرین نسخه را از سرور میگیرید یا تغییراتی داده، آنها را commit و push میکنید و الی آخر. سپس تغییرات مخفی شده را دوباره دریافت کرده و کارتان را از همانجا که قطع شده بود ادامه میدهید.
روش انجام کار با git به این صورت است:
ابتدا کسب اطمینان از این که همه آیتمها به index اضافه شدهاند:
git add .
سپس ذخیره موقت تغییرات در فضای داخلی خودتان:
git stash
بعد از آن که به کارهای دیگرتان رسیدید نوبت میرسد به برگرداندن تغییرات به جای اولشان:
git stash pop
البته شاید بهتر باشد که اگر از این طور موارد زیاد برایتان پیش میآید از branching استفاده کنید.
مرجع اصلی متن، این مطلب است. برای کسب اطلاعات بیشتر راجع به git به اینجا مراجعه کنید.