Às vezes, quando não estou totalmente cafeinado ou apenas em um pressa descuidada, faço alterações no código e as envia para o master.
Este é um problema muito fácil de resolver usando o reflog git mantém para você.
git branch oops
git reflog
#note the reflog id prior to where you made your commit(s)
git reset --hard :reflogid
git checkout oops
git push origin oops