Git
GitHub

複数のコミットを強制的に取り消す

メンターに教わったのでメモです。

デプロイがうまく行かなくて悩んでいます。
悩んでるうちにmasterがコミットだらけになってしまったので、
昨日からの変更を一旦すべて削除することにしました。

こんな感じですね。
スクリーンショット 2017-08-09 17.03.19.png

以下をappのディレクトリ上で実行します。

#terminal
git reset --hard head^

上記コマンドによって、実行する度にコミット1回分戻って行きます。

ちなみに^をつけない場合には、
最後にコミットをした状態に戻ることができます。
(git checkout -fに同じ)

必要なところまで戻ったら以下を実行。

#terminal
git push -f origin master

強制的にローカルでの変更を反映し、リモートリポジトリ上にあるコミットが消えます。

追記:
コメントいただきました。
^を複数つけることで、複数分を戻ることができるそうです。

git reset --hard (戻したいところのコミットID)
という書き方でも同じみたいです。