ChatGPTを使いながら勉強してます。
rampup1(2-1)
ポインタがよくわからないので調べてみた。
Gitにおいて「ポインタ」とは、特定のコミットオブジェクトを指し示す参照(reference)のことを指します。GitのブランチやHEADは、内部的には特定のコミットオブジェクトのハッシュに対する参照として機能しています。
git checkout コマンドは、Gitにおけるポインタの位置、特に HEAD ポインタの位置を変更する役割を果たします。
git checkout やその他のコマンドによって、HEAD ポインタとその他のブランチポインタの位置は変更され、どのコミットが現在チェックアウトされているか(すなわち作業ディレクトリの内容がどのコミットに基づいているか)が変わります。
rampup2(2-2)
相対リファレンスとは?
Gitの相対リファレンスは、特定のコミットを基点にして他のコミットを指定するための記法です。
rampup4(2-4)
git resetは業務では以下がよく使うかも
git reset --soft HEAD^
HEAD^ は現在のブランチの親コミットを指します。つまり、直前のコミットを指すことになります。
--soft オプションは、インデックス(ステージングエリア)と作業ディレクトリにあるファイルはそのままにして、HEADだけを指定したコミット(この場合は HEAD^)に移動します。
結果として、直前のコミットが「未コミットの変更」としてステージングエリアに残ります。つまり、git commit コマンドを再実行することで、新しいコミットを作成することができます。
git revertのユースケース
不具合の修正
誤ってバグを導入してしまったコミットがある場合、git revert でそのコミットを打ち消すことができます。
機能の一時的な無効化
特定の機能が不具合を引き起こしているが、そのコード自体は将来的には必要な場合、git revert でその機能を一時的に無効にできます。
公開済みコミットの安全な取り消し
既に push されてしまったコミットを取り消す必要がある場合、git revert はそのコミットの変更を打ち消す新しいコミットを作成するため、他の人との共同作業に問題を引き起こすことなく安全に変更を元に戻せます。
などなど気になったらGPTに聞く。
おわり
2章が終わったので明日は3章です。