【Git】特定のcommitまで戻り、リモートへ強制pushしたいとき

アプリ作成中に、以前のcommitへ戻りそこから作業を始めたい

という場面に遭遇したので、記録として残しておきます。

①戻りたいcommitのハッシュ値を調べる

git log //ハッシュ値を調べる

上記コマンドを打つとコミット毎に以下のような表示が出てきます。


f:id:hnm-n-1029:20200809114229p:plain

commit ************************ //ハッシュ値

commitコメントや日付から、戻りたいcommitを探し黄色文字になっている文字列をコピーします。

この長い文字列がハッシュ値になります。
※画像の場合ハッシュ値は、「65ae65bf2a50f81ed818c39d585656d3a1673f7e」です。


②特定のcommitまで戻る

git reset --hard ハッシュ値

画像の場合、

git reset --hard 65ae65bf2a50f81ed818c39d585656d3a1673f7e

となります。

③戻した結果をリモートへ強制push

git push -f origin ハッシュ値:master

-f オプションで強制的にpushしています。

画像の場合、

$ git reset --hard 65ae65bf2a50f81ed818c39d585656d3a1673f7e

となります。



今回は個人開発だったのでこの方法を取りました!

トラブルが起こるとまだ対応しきれない部分がありますが

少しづつでもGitに慣れていこうと思います。

今回は以上です!


↓↓私の師匠、もりけんさんの武骨日記。問題集、要チェック

kenjimorita.jp