Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git stash twice

Tags:

git

git-stash

People also ask

What happens if I git stash twice?

If you made two stashes, then just call git stash pop twice. As opposed to git stash apply , pop applies and removes the latest stash. You can also reference a specific stash, e.g.

How many git stashes can you have?

Show activity on this post. 1 - How many stashes are saved? So how many are saved? As many as you create.

How do I stash multiple commits?

If you're using git stash you don't need to worry about separate commits at the moment. Run the stash command, then do whatever else it is you need to do, then pop your changes back from the stash and then make your commits how you want them.


You can get a list of all stashes with

git stash list

which will show you something like

stash@{0}: WIP on dev: 1f6f8bb Commit message A
stash@{1}: WIP on master: 50cf63b Commit message B

If you made two stashes, then just call git stash pop twice. As opposed to git stash apply, pop applies and removes the latest stash.

You can also reference a specific stash, e.g.

git stash show stash@{1}

or

git stash apply stash@{1}

I came across this situation, I did two stashes and git stash pop just unstashed last stash. So I did

git stash list

git stash pop stash@{1}

This unstashed my first stash and I could see all my changes back!


You asked a few different questions in post, and other respondents gave good answers to some of them. The one that seems most important but hasn't been answered is this:

>>I'm not convinced that all of the files I had stashed were unstashed. Is there anything I can do? Any way to check?

Compare stash to local tree

I think what you want to do is compare the stash to your local working tree. You can put the -p switch on the stash command and you're good:

git stash show -p

If there's a particular one you're after, just use its git stash name or id from the stash list:

git stash show -p stash@{3}

Maybe use the diff?

If you're really interested in pushing your git skills, you could always go for a diff. To see the difference between what's in the stash and whats checked into the HEAD on the master branch the following diff could be used:

git diff stash@ master

Another neat command to show you changes for elements in the stash history that might come in handy is --stat:

git stash list --stat

But I think the simple answer is the right answer. Just use the -p switch and you'll likely see if the stash you shelved has been popped back.

git stash show -p stash@{3}