Named stashes

stash@{3} means nothing to anyone. Give your stashes names.

SNP 049 #624 Filed git

shell
git stash push -m "half-done login form"

Then you can see what each one was:

shell
git stash list
shell
stash@{0}: On main: half-done login form
stash@{1}: On main: experiment with grid layout

Bring one back by its index: git stash pop stash@{1}. pop applies and removes it, apply keeps the stash around.

git stash push -u includes untracked files too, which bites people the first time they stash a new file and it stays in the working tree.