Skip to main content

Choosing a stash from the list

First posted in Development and Git; updated 9th February 2021

Git stash is easy to get started with but what if you stash more than once? You might want to have a look at your stashes:

git stash list

This brings up a list of all of the stashes in your current repository (which is much easier understand if you’ve named your stashes); to choose a particular stash, all you have to do is find the index of the stash:

  1. View your list of stashes
  2. Copy the stash index number (which looks something like stash@{2})
  3. Close the list with (Control) + z

Now we just add the stash’s index to our pop command:

git stash pop stash@{2}

If you know without having to look where the stash will be in the list, you might not want to view the list before applying the stash, but bear in mind:

  • Stashes are numbered in reverse order, so the most recent always has the lowest index number
  • The index numbers change with each new stash that’s added, effectively getting pushed back in the queue
  • Stashes are ‘zero indexed’, so the most recent stash would be stash@{0}, the next most recent stash@{1}, and so on

So, for example, if you’ve stashed four times and you want the second stash you made, you’d run git stash pop stash@{2}.

If you stash a fifth time before grabbing that second stash, you’d run git stash pop stash@{3} as there are now 5 items: 0, 1, 2, 3, and 4.

Subscribe

If you enjoyed reading this and want a monthly roundup of my articles delivered to your inbox, just enter your email below.

I don’t collect any data on when, where or if people open the emails I send them. Your email will only be used to send you newsletters and will never be passed on. You can unsubscribe at any time.

More posts

Here are a couple more posts for you to enjoy. If that’s not enough, have a look at the full list.

  1. Using Git restore to discard changes within a file

    git restore is great, and one of its superpowers is its patch mode where we can restore parts of a file, rather than the whole file at once.

  2. Undelete a file with Git

    I’ve talked about how great git restore is, but I missed a really obvious use of git restore: restoring a deleted file!