For those who do have un-committed work, and want to pop their stash without losing that work, here is a way (with thanks to @iFreilicht):
-
Temporarily stage any uncommitted changes:
git add -u . -
Now you can apply your stash without git complaining (hopefully):
git stash pop -
Now unstage everything, but leave the files as they are now:
git reset
If step 2 couldn’t patch cleanly due to conflicting changes, then you will need to resolve the conflicts manually. git diff should help you find them. git mergetool might help by opening your editor with before and current files.