I know how to solve this:
user@host$ git pull
Updating 9386059..6e3ffde
error: Your local changes to the following files would be overwritten by merge:
f
As you already mentioned this is the way to do it. You can use it in alias to save you typing and to use shortcut or you can use it in a single line (can be an alias as well)
git stash && git pull --rebase && git stash pop
It will do the same thing as you done but in a single line (&&) and is you set as alias it will even be shorter.
The following lines will display the incoming/outgoing changes before you pull/push
git log ^master origin/master
git log master ^origin/master