色々取り消したいとき

ローカルリポジトリ

間違ったCommitをしてしまったとき

  • git reset --soft <コミットID>

該当のコミットに移動し、ステージング コミットメッセージを直したい、コミットし直したいときに使用する
ステージングしたファイルはステージングされたまま

  • git reset --mixed <コミットID>

該当のコミットに移動し、 コミットをまとめてやりすぎたときとかに使用する
コミットの取り消し+ステージングされたファイルも取り消される(addする前になる)

  • git reset --hard <コミットID>

間違えて違うブランチで作業してたときとかに使用する
変更したファイルそのものが取り消される

リモートリポジトリ

間違ったコミットをPushしてしまったとき

  • git revert <コミットID>

該当のコミットの変更を取り消ししたコミットができる git resetを使ってしまうと色々厄介なことになる
revertすると、コミットの履歴は残りrevertしたというコミットが作られる(仕方ない)