「HEADが動いているだけ」という理解の威力

コミットは消えない。HEADが指す先が動くだけ
コミットは消えない。HEADが指す先が動くだけ

git reset --softの正体は、HEADの移動です。コミットが消えたのではなく、HEAD(とHEADが指すブランチ)が別のコミットを指すようになっただけ。この理解、実はとても大きな意味を持っています。

Gitで困った時、多くの人は「何が消えたのか」「どこが壊れたのか」と考えます。でも「今HEADがどこを指しているか」を考えるだけで、状況を正確に把握できるようになる。reflogを見れば分かるように、コミットは消えていない。HEADの位置が変わっただけ。だから戻せる。

この「HEADが動いているだけ」という考え方は、ブランチやマージにもそのまま使えます。ブランチの切り替えもマージも、結局はHEADや参照がどのコミットを指すかという話。仕組みを正しく理解することが、これからどれだけ効いてくるか、きっと実感するはずです。

暗記ではなく理解。それがGitと仲良くなる一番の近道です。