どこまでもどるか決める、一括削除が適切か立ち止まる
多くの人が参加しているようなプロジェクトではコミットログをいじることは望ましくないとか、基本的にはコミットログをいじることは推奨されていません。パスワードのような機密情報をアップしてしまったとか、大容量のファイルを誤ってアップしてしまったとかそういう場合に適切なんじゃないかと思います。私の場合は後者でした。
また、いざという時のために現在のワークスペースをどこかにコピーしておくことをお勧めします。
手元のワークスペースを直前のコミットの状態に合わせる
git reset --hard HEAD
手元のコミットログを削除
たとえば4つ前まで戻す場合は
git rebase -i HEAD~4
すると
pick c047b57 コミットメッセージ1 pick 7ad53bb コミットメッセージ2 pick 4904961 コミットメッセージ3 pick 0f4a444 コミットメッセージ4
みたいなのを編集する画面になるから、残したいコミットだけを残して削除、保存、エディタを閉じる。
Successfully rebased and updated refs/heads/master.
みたいなメッセージが出る。
それを強制的に GitHub にあげる
git push origin +master
この +
記述が無いと Updates were rejected
エラーが出ます。
以上。