結論
# 特定のコミットに戻りたいとき 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
戻ってきた!