git diffコマンドの概要
役割2つ.
インデックスとワークツリー間の状態の差分を見るコマンド(git diff) ⇨git add する前にgit diffを実行すると差分が見れる
リポジトリとインデックス間の状態の差分を見るコマンド(git diff --cashed)git commit する前にgit diff --cashedをすると差分が見れる
疑問1なぜgit diffコマンドに引数なしで実行すると現状の差分が見れるの?
→HEADが暗黙的に指定されている。
HEADとは
⇨ブランチの場所を記憶している。
HEADの中身はこちらもポインタであり、Gitの中で特殊で唯一の存在です。 HEADがブランチを指すことで自分が現在いるブランチがどれか確認できる仕組みになっています つまりコミットの場所を記憶しているのがブランチ、ブランチの場所を記憶しているのがHEADです
つまりHEADは最終的には現在のコミットを指していることになるので現状との差分がわかる。