>>814
gitconfigでdifftool設定すれば外部ツールでdiff見れるよ
不可逆の操作はgit reflogとかgit fsckを駆使して結構色々戻せる