راهنمای گیت

استش

گاهی در حین کار روی یک برنچ نیاز دارید به سرعت به برنچ دیگری بروید، اما تغییرات فعلی هنوز آماده‌ی کامیت نیستند. دستور 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