This was useful for me when we created a new branch for a new major release, but were still working on our current version as well. I cloned our repo again and kept the new project on our new branch, but also wanted to get my stashes there.
git stash show -p > patch
You'll have to specify your stash and name your file whatevery you want. Do this for as all your stashes, and you'll have patch files in your pwd.
cd /new/project/dir
git apply /old/project/dir/patchfile
git stash
@coroa For macOS, I had to replace
rev
withtail -r
. Otherwise, this worked great!macOS version:
hashes=($(git reflog --format=%H refs/stash | tail -r))