I\'ve been advised to avoid git pull --autostash, and instead use:
git alias.pull-autostash \'!git stash push && git pull --rebase && git stash p
This answer does not answer how you stash an empty change but it should solve your problem.
Check if there are pending changes first (see https://stackoverflow.com/a/3879077/3526980)
$ git alias.pull-autostash '(git diff-index --quiet HEAD -- && git pull --rebase) || (git stash push && git pull --rebase && git stash pop)'