はじめに
知ってるけどフワッとしていてしっかり説明できるか不安なコマンドがあったので使ってみるの会を開催しました(1人で)ので備忘録として残します。
実践
早速いきましょう。今回は好きなサッカー選手リストを作成するという体で進めました。
以下のファイルを作成し
# プレミアリーグ好きな選手リスト
- モハメドサラー
- ハリーケイン
- メイソンマウント
いつも通りadd
してからcommit
してpush
しました。
<この時点のgit log>
commit 7ca873425bc86014011354be9f0249cbf3e7e753 (HEAD -> feature/hoga, origin/feature/hoga)
Author: hrk-sgymm23 <xxx.jp>
Date: Wed Mar 8 21:53:02 2023 +0900
プレミア好きな選手リスト作成
その後、マルコ・ロイス
を追加するのを忘れていたので
# プレミアリーグ好きな選手リスト
- モハメドサラー
- ハリーケイン
- メイソンマウント
- マルコ・ロイス
再びadd
してからcommit
してpush
!
<この時点のgit log>
commit 3b76a63aa9f533248aef7be01aabd215b33a74a5 (HEAD -> feature/hoga, origin/feature/hoga)
Author: hrk-sgymm23 <xxx.jp>
Date: Wed Mar 8 22:04:06 2023 +0900
プレミア好きな選手リスト追加
commit 7ca873425bc86014011354be9f0249cbf3e7e753
Author: hrk-sgymm23 <xxx.jp>
Date: Wed Mar 8 21:53:02 2023 +0900
プレミア好きな選手リスト作成
しかしここで問題が起きます。
なんとマルコ・ロイス
はプレミアリーグ
の選手では有りません、、、!(サッカー知らない人からしたら知らんがなですよね)
そこで使うのがrevert
です。コマンドとしては
$ git revert ${commit ID}
なので今回マルコ・ロイス
を追加した際のコミットIDがgit log
より3b76a63aa9f533248aef7be01aabd215b33a74a5
なので
$ git revert 3b76a63aa9f533248aef7be01aabd215b33a74a5
になります。
実行するとコミットメッセージを編集するエディターが出るのでコミットメッセージを編集しgit log
とファイルを確認すると
commit a9bb7f72ab4bd7409d45be3737a5abd939d782ed (HEAD -> feature/hoga)
Author: hrk-sgymm23 <b1805473@planet.kanazawa-it.ac.jp>
Date: Wed Mar 8 22:31:25 2023 +0900
Revert "マルコ・ロイス削除"
This reverts commit 13f8a38628e480b3fefe5c3f71d53863ad631800.
編集したコミットメッセージが追加され
# プレミアリーグ好きな選手リスト
- モハメドサラー
- ハリーケイン
- メイソンマウント
マルコ・ロイス
がいなくなっています。
これがrevert
の基本の使い方みたいです。
$ git revert ${commit ID} -n
だとコミットは残さないみたい。
最後に
次はcherrypick
を使ってみるの会にしたい。