در این نوشته فرض بر این است که شما کاملا با سیستم کنترل ورژن Git آشنایی دارید. در صورتی که برنامهنویس هستید و هنوز نمیدونید Git چیه پیشنهاد میکنم آب دستتون هست بزارید زمین و توی گوگل دنبال آموزش گیت بگردید.
مطمئنا شما خیلی از دستور Git Stash استفاده میکنید. شاید براتون جالب باشه که این دستور حالتهای زیادی داره که خیلی میتونه به کمکتون بیاد. توی این پست تعدادی از مهمترین حالتها را توضیح میدم:
این دستور دقیقا مثل Git Stash
است. فقط با این تفاوت که شما چند قابلیت یا به اصطلاح برنامهنویسی چندین option دارید.
با این دستور شما میتوانید به همراه Stash یک پیغام ذخیره کنید.
git stash save “Your stash message”.
شما در فایل Gitignore فایلهایی که میخواهید گیت آنها را نادیده بگیرد را مشخص کردهاید. با این دستور میتوانید حتی این فایلها را نیز Stash کنید.
git stash save -u
یا
git stash save --include-untracked
همه دستورات Stash شما در گیت ذخیره میشوند. شما میتوانید با این دستور لیست همه Stashها را مشاهده کنید:
git stash list
خروجی این دستور به شکل زیر است:
همانطور که دیدید لیست Stashها نشان داده شده و جدیدترین Stash در بالای لیست قرار میگیرد.
این دستور جدیدترین Stash یا همانی که در عکس بالا در ابتدای لیست بود را انتخاب میکند و آن را بر روی ریپازیتوری شما اعمال میکند.
اگر میخواهید Stash دیگری را انتخاب کنید میتوانید ID آنرا بنویسید (ID در عکس بالا در ابتدای هر خط نوشته شده)
مثال:
git stash apply stash@{1}
این دستور دقیقا مانند دستور Git stash apply است تنها تفاوتش این است که بعد از اعمال کردن Stash آن را از لیست حذف میکند.
مثل دستور قبلی اگر شما میخواهید یک Stash خاص را انتخاب کنید میتوانید ID آن را بنویسید:
ٰgit stash pop stash@{1}
با این دستور میتوانید تغیرات stash را مشاهده کنید.
دستور در حالت اصلی تنها تغییرات آخرین Stash را مشخص میکنید. مثل عکس زیر
باز هم مثل دستورات بالا، اگر شما بخواهید که تغییرات یک Stash خاص را مشاهده کنید میتوانید ID آن را بنویسید:
git stash show stash@{1}
و همچنین اگر خواستید لیست همه تغیرات را ببینید از این دستور استفاده کنید:
git stash show -p
این دستور با آخرین Stash یک برنچ جدید ایجاد میکند و بعد از آن Stash را حذف میکند.
علاوه بر این اگر خواستید یک Stash خاص را انتخاب کنید میتونید ID اون Stash را بنویسید.
git stash branch <name> stash@{1}
با این دستور شما تمام Stash های گذشته را پاک میکنید. باید مواظب باشید چون این دستور قابل برگشت نیست.
Git stash clear
این دستور آخرین Stash را حذف میکند و مثل دستور قبلی قابل برگشت نیست. یا اگر هم باشد خیلی سخت است.
اگر خواستید یک Stash خاص را حذف کنید میتوانید ID آن را بنویسید:
git stash drop stash@{1}
امیدوارم این دستورات براتون مفید باشه