Today I learned that I can permanently enable the autostash feature in git. Autostash a parameter for
git merge or
git pull, where git will automatically stash your local changes und unstash them after it finished the action. Usually you would use an option like
git pull --autostash to instruct git to do this, however when using
git config --global rebase.autostash true, git will be setup to simply automatically assume
--autostash for all rebase actions without requiring any further specification. Same works for merges by specifying
git config --global merge.autostash true.
I came across this when I faced the typical error message when one tries to rebase changes without a clean working directory. Usually I would just manually specify
--autostash as part of the command, but why not find a more sustainable solution? And here I went and found one!
$ git pull error: cannot pull with rebase: You have unstaged changes. error: please commit or stash them.