<p>I frequently use <code>git stash</code> and <code>git stash pop</code> to save and restore changes in my working tree. Yesterday, I had some changes in my working tree that I had stashed and popped, and then I made more changes to my working tree. I'd like to go back and review yesterday's stashed changes, but <code>git stash pop</code> appears to remove all references to the associated commit.</p>
<p>I know that if I use <code>git stash</code> then <em>.git/refs/stash contains</em> the reference of the commit used to create the stash. And <em>.git/logs/refs/stash contains</em> the whole stash. But those references are gone after <code>git stash pop</code>. I know that the commit is still in my repository somewhere, but I don't know what it was.</p>
<p>Is there an easy way to recover yesterday's stash commit reference?</p>

```
git fsck --unreachable | grep commit
```
should show the sha1, although the list it returns might be quite large.
```
git show <sha1>
```
will show if it is the commit you want.
```
git cherry-pick -m 1 <sha1>
```
will merge the commit onto the current branch.