[Git]git revertで間違ってpushしてしまったミスを取り消す


下記を参考にさせていただいています。
https://qiita.com/YuukiWatanabe/items/d326aad1224f2a559843

git revert

間違ったコミットをpushした時にはrevertを使います。
手順は以下になります。

1. git logでコミットIDを確認する

$ git log

すると以下のように過去にコミットした日付とコメント、IDが表示されます。
※ logは一番上が最新のコミットでEnter↓矢印キーで過去のコミットに遡ります。やめる場合はqを押します。

        ↓ここがcommit ID
commit db95f41cfdde06f7b5d471389e818abc8d7a3e1a (HEAD -> master, origin/master)  
Author: user <[email protected]>
Date:   Thu Apr 29 01:03:01 2021 +0900

    print('j')を削除

commit fd3dd5ae6bfcd9cc4c682b1974265cde704bceec
Author: user <[email protected]>
Date:   Wed Apr 28 23:24:55 2021 +0900

    insta2.py削除

commit IDをコピーしてください

2. git revertでコミットを取り消す

git revertでコミットを取り消します。コピーしたコミットidをgit revertの後ろに記述します。

$ git revert db95f41cfdde06f7b5d471389e818abc8d7a3e1a ← commit id

するとvimが開きコミットメッセージを要求されるので入力します。
そしてgit pushでrevertした内容でリモートリポジトリを上書きします。

$ git push

以上です

付加情報

gitにはgit reset —hard HEAD^を使ったコミット解消方法がありますがpushをしてしまった場合はrevertを使った方が良いようです。
git reset —hard HEAD^は一つ前のコミットに戻るというコマンドですがこれを使うとgit pushができなくなるようです。