記事の著者は、Mastodonで投票を実施し、人々がGitのHEADの動作をどのように理解しているかを尋ねました。その結果、多くの人が不確かや何もわからないと回答しました。著者は、HEADが単純なトピックと思っていたが、他の人々との後続の会話で、自分が評価していたよりも複雑であると発見しました。HEADは、.git/HEADというファイル、git show HEADのようなコマンドでの"リビジョンパラメータ"HEAD、Gitの出力でのHEADの様々な使用方法など、異なるものを参照することができます。.git/HEADファイルには、ブランチ名かコミットIDが含まれ、Gitの現在のブランチを決定します。.git/HEADがコミットIDを含む場合、Gitはそれを"detached HEAD state"と呼び、新しいコミットはブランチに付かないため、見つけることが困難か、Gitのガーベジコレクションによって削除される可能性があります。著者は、git status、git log、merge conflictsなどのGitコマンドの出力の解釈方法を説明し、GitのHEADに関する用語がより一貫し、直観的であるべきだと提案します。
jvns.ca
How HEAD works in git
Create attached notes ...
