0
0

More than 3 years have passed since last update.

GitHubで特定のコミットまで遡って、それ以降のCommitを取り消す

Last updated at Posted at 2020-03-13

始めに

僕は普段からローカルの環境で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/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0