استش
گاهی در حین کار روی یک برنچ نیاز دارید به سرعت به برنچ دیگری بروید، اما تغییرات فعلی هنوز آمادهی کامیت نیستند. دستور stash تغییرات ناتمام را موقتاً کنار میگذارد تا بتوانید روی چیز دیگری کار کنید.
ذخیرهی تغییرات در استش
git stash
این دستور تمام تغییرات استیجشده و استیجنشده را ذخیره میکند و پروژه را به وضعیت آخرین کامیت برمیگرداند.
برای ذخیره با یک پیام توضیحی:
git stash save "پیام توضیحی"
نمایش لیست استشها
git stash list
خروجی چیزی شبیه به این است:
stash@{0}: On main: در حال کار روی صفحهی ورود
stash@{1}: On feature: تغییرات هدر
بازگردانی آخرین استش
git stash pop
این دستور آخرین استش را اعمال میکند و از لیست حذف میکند.
اعمال یک استش بدون حذف
git stash apply
یا برای اعمال یک استش خاص:
git stash apply stash@{2}
مشاهدهی تغییرات یک استش
git stash show
برای جزئیات بیشتر:
git stash show -p
حذف استش
برای حذف آخرین استش:
git stash drop
برای حذف یک استش خاص:
git stash drop stash@{1}
برای پاککردن تمام استشها:
git stash clear
ساختن یک برنچ از استش
اگر تغییراتی که استش کردهاید به اندازهای بزرگ شده که بهتر است در یک برنچ مجزا باشند:
git stash branch نامبرنچ
این دستور یک برنچ جدید میسازد، به آن میرود، و آخرین استش را در آن اعمال میکند.
استشکردن فایلهای ردیابینشده
بهطور پیشفرض، git stash فایلهای جدیدی که هنوز add نشدهاند را استش نمیکند. برای استشکردن آنها:
git stash -u