【git】コミットの取り消しとリモート反映

リモートにプッシュしてしまったコミットを取り消す方法のまとめ

コミットIDの取得

git log 等で戻したいコミットのコミットIDを取得する。
$ git log
commit 129825e3ce55a286819ec8b0c0bde8281c244b9a
Merge: a26a971 1298352
Author: xxx yyy 
Date:   Wed Aug 21 13:00:26 2019 +0900

    ○○○○○○○○○○

commit 4402dd4b4b91916c58d660881dfe78e2a8f688ea
Author: xxx yyy 
Date:   Wed Aug 21 11:57:35 2019 +0900

    ××××××××××

commit 395aeb3678e2a231bb55f80296032ceea45e3396
Author: xxx yyy 
Date:   Tue Aug 20 17:09:21 2019 +0900

    △△△△△△△△△△


ローカルブランチのコミットを取り消す

ローカルブランチを以下のコミットIDまで戻す。
commit 395aeb3678e2a231bb55f80296032ceea45e3396
$ git reset --hard 395aeb3678e2a231bb55f80296032ceea45e3396
HEAD is now at 395aeb △△△△△△△△△△

リモートへ反映する

ローカルブランチで取り消したコミットをリモートへ反映する。
commit 395aeb3678e2a231bb55f80296032ceea45e3396
$ git push -f origin 395aeb3678e2a231bb55f80296032ceea45e3396:[branch]
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/[repositories]/test.git
 + f2ef64e...395aeb 395aeb3678e2a231bb55f80296032ceea45e3396 -> [branch] (forced update)

この記事へのコメント

スポンサーリンク