reflog
と reset --hard
この2つです。
git reflog -10
で履歴がでるので git reset --hard xxxxxxx
とすればその時点に戻すことができます。
私はこの reflog をあとで知って、いくらでも試行錯誤できるようになったことで急に理解できるようになりました。そしてもっと早く知っていればと後悔しています。
なので初めての方はこの2つのコマンドを真っ先に覚えるのがおすすめです。
失敗しても何度でもやり直せるんだからもう Git は恐くありません。