ذخیره کردن تغییرات با استفاده از stash

stash کردن تغییرات راه ساده و خوبی برای بازگشت به آخرین وضعیت انباره است. منظور از آخرین وضعیت، آخرین باری است که از دستور commit استفاده کرده‌اید. stash کردن کاربردهای زیادی دارد:

  • بعد از آخرین دستور pull تغییراتی روی انباره ایجاد کرده اید، هم اکنون می‌خواهید یکبار دیگر تغییرات جدید انباره را pull کنید. در این جالت دو راه دارید. اول اینکه تغییرات خود را commit کنید و با استفاده از دستور merge تغییرات جدید را نیز اعمال کنید. راه دوم مخفی کردن تغییرات نسبت به آخرین commit مشترک با انباره و سپس اجرای دستور pull است.
  • بعد از آخرین commit تغییراتی روی انباره ایجاد کرده اید ولی هنوز تغییرات جدید را commit نکرده اید. متوجه می‌شوید یک باگ در برنامه وجود دارد اما نمیدانید در آخرین commit بوده است یا به تازگی آن را ایجاد کرده اید، با استفاده از stash به آخرین commit برگشته و بررسی میکنید باگ مورد نظر هنوز وجود دارد یا نه، سپس دوباره تغییرات خود را بازیابی می کنید.
Stash your changes away with
$ git stash

And boom! You’re back to your original working state. Got that bug fixed? Bring your work back with:
$ git stash apply

You can also do multiple layers of stashes, so make sure to use
$ git stash list

To check out all of your current ones. If you need to apply a stash from deeper in the stack, that’s easy too. Here’s how to apply the second stash you’ve got:
$ git stash apply [email protected]{1}

You can also easily apply the top stash on the stack by using (Thanks jamesgolick!):
$ git stash pop

A note with this command, it deletes that stash for good, while apply does not. You can manually delete stashes with:
$ git stash drop <id>

Or delete all of the stored stashes with:
$ git stash clear
درخت مرجع: 

افزودن نظر جدید