This is an aspect of the mechanism that I would like to change. That it isn't easy to pop your stashes once you have more than one going is precisely the problem! It'd probably need to be a separate kind of ref.
I think stashes are tagged with the branch name somehow? When I do a `git stash push && git stash list`, I get something like `stash@{0}: WIP on {branch}: {hash} {commit message...}`.
The message you get is an automatic message filled by Git when you don't provide one with the -m option.
Stashes are kind of sort of like branches themselves [1], but they are usually seen as a list, from which you can (cherry-?) pick arbitrary stashes with the apply or pop command, just name it [2]
- Make changes to branch A
- Checkout B (A changes are auto stashed)
- Make changes to B
- Checkout C (B changes are auto stashed)
- Checkout A again
As far as I know git stashes are FIFO, so it wouldn't be that easy to pop my stash for branch A at this point.