gitでプルリクしたけど特定のコミットに戻したい!

結論

# 特定のコミットに戻りたいとき
git checkout commit-id

# 最新に戻ってきたいとき
git checkout master

以下だらだらワーク

適当に以下のようなpushをした。

git log
commit 7427ae19e41593e15f8030c8fe285fde8577c2b9 (HEAD -> master, origin/master)
Date:   Fri Jul 22 11:48:55 2022 +0900

    [add] 4回目のpush

commit 232a26ad2859c003686098eb21e38dd77da340ee
Date:   Fri Jul 22 11:48:21 2022 +0900

    [add] 3回目のpush

commit 42c07ae5ded7030c7d7e217b928569c78eba416e
Date:   Fri Jul 22 11:47:20 2022 +0900

    [add] commitに戻すテスト追加

commit 9435a5cd68a692456a30ed3ce9d2a5d608fe97fb
Date:   Fri Jul 22 11:44:12 2022 +0900

    first commit

次にブランチを切った。

bash-3.2$ git co -b feature_1
Switched to a new branch 'feature_1'
bash-3.2$ git br
* feature_1
  master

ブランチで以下を実施。

touch add_5.txt
bash-3.2$ git add add
add_3.txt  add_4.txt  add_5.txt
bash-3.2$ git add add_5.txt && git commit -m '[add] ブランチでの追加1' && git push origin feature_1

これで、masterよりorigin feature_1はadd_5.txtだけ追加されている状態。

次にプルリク出してマージした。 マージした際、ブランチは削除した。

ローカルでmasterに変更した。

bash-3.2$ git log
commit 7427ae19e41593e15f8030c8fe285fde8577c2b9 (HEAD -> master, origin/master)
Date:   Fri Jul 22 11:48:55 2022 +0900

    [add] 4回目のpush

commit 232a26ad2859c003686098eb21e38dd77da340ee
Date:   Fri Jul 22 11:48:21 2022 +0900

    [add] 3回目のpush

commit 42c07ae5ded7030c7d7e217b928569c78eba416e
Date:   Fri Jul 22 11:47:20 2022 +0900

    [add] commitに戻すテスト追加

commit 9435a5cd68a692456a30ed3ce9d2a5d608fe97fb
Date:   Fri Jul 22 11:44:12 2022 +0900

    first commit

まだブランチの変更は反映されてない。

masterを最新化

git pull

git log
bash-3.2$ git log
commit 85c0537361a036865c3fa5ff6b0864d859a516fd (HEAD -> master, origin/master, origin/feature_1, feature_1)
Date:   Fri Jul 22 11:53:26 2022 +0900

    [add] ブランチでの追加1

commit 7427ae19e41593e15f8030c8fe285fde8577c2b9
Date:   Fri Jul 22 11:48:55 2022 +0900

    [add] 4回目のpush

commit 232a26ad2859c003686098eb21e38dd77da340ee
Date:   Fri Jul 22 11:48:21 2022 +0900

    [add] 3回目のpush

commit 42c07ae5ded7030c7d7e217b928569c78eba416e
Date:   Fri Jul 22 11:47:20 2022 +0900

    [add] commitに戻すテスト追加

commit 9435a5cd68a692456a30ed3ce9d2a5d608fe97fb
Date:   Fri Jul 22 11:44:12 2022 +0900

    first commit

ブランチでの変更が反映されている。

ここからがやりたいこと。

特定のコミットに戻す。

git co 232a26ad2859c003686098eb21e38dd77da340ee

git log
bash-3.2$ git log
commit 232a26ad2859c003686098eb21e38dd77da340ee (HEAD)
Date:   Fri Jul 22 11:48:21 2022 +0900

    [add] 3回目のpush

commit 42c07ae5ded7030c7d7e217b928569c78eba416e
Date:   Fri Jul 22 11:47:20 2022 +0900

    [add] commitに戻すテスト追加

commit 9435a5cd68a692456a30ed3ce9d2a5d608fe97fb
Date:   Fri Jul 22 11:44:12 2022 +0900

    first commit

確かに戻ってる。

最新に戻ってくる

git co master

bash-3.2$ git log
commit 85c0537361a036865c3fa5ff6b0864d859a516fd (HEAD -> master, origin/master, origin/feature_1)
Date:   Fri Jul 22 11:53:26 2022 +0900

    [add] ブランチでの追加1

commit 7427ae19e41593e15f8030c8fe285fde8577c2b9
Date:   Fri Jul 22 11:48:55 2022 +0900

    [add] 4回目のpush

commit 232a26ad2859c003686098eb21e38dd77da340ee
Date:   Fri Jul 22 11:48:21 2022 +0900

    [add] 3回目のpush

commit 42c07ae5ded7030c7d7e217b928569c78eba416e
Date:   Fri Jul 22 11:47:20 2022 +0900

    [add] commitに戻すテスト追加

commit 9435a5cd68a692456a30ed3ce9d2a5d608fe97fb
Date:   Fri Jul 22 11:44:12 2022 +0900

    first commit

戻ってきた!