git checkout by default leaves alone the uncommitted changes in the working tree directory. Then is it necessary to run git stash push before git checkout (and then run git stash pop at some later point after git checkout)? Or when is it necessary, and when is it not?
My question comes from https://stackoverflow.com/a/48156644/156458 and is more general.