始めに
僕は普段からローカルの環境でAtCoderの問題を解いていて、定期的にGitHubに上げるようにしています。ただ、リポジトリ名が"AtCoder"と、AtCoder専用みたいになっちゃってたので、ローカルのAtCoderリポジトリの上に新しく"CompatitionProgramming"という親リポジトリを作って、それをGutHubにpushしました。が、その際に今まで解いてきた問題の全てのコミットメッセージが同じコミットメッセージになってしまい、「これは嫌だ…」になってしまいました。git reset
などのコマンドでローカルのコミットは元に戻せましたが、GitHub上のCommitは以下のようにして修正しました。
GitHubブラウザ上のCommitを消す
至って簡単でした。まずGitHub上のCommit一覧を見て、そこまで遡りたいCommitをクリックします。
550521b0a6540b87b5edf6be2edad2ab15a2afac
そして右側にあるこんな⇑感じの文字列をコピーした後、こいつを以下のコマンドと共にぶっ叩きます。
git push -f origin 550521b0a6540b87b5edf6be2edad2ab15a2afac:master
右側の:master
を忘れないで下さい。これを叩くと、GitHubの対象リポジトリまでのCommitが全て消えると思います。そこからローカルにCommitして誤ミットは万事解決です!コミット、ヨシ!
参考
Gitで誤ってpushしてしまったときのpushの取り消し方法
https://awesome-linus.com/2019/03/09/git-push-by-mistake/