mainが決まるとき。ステージングでもオブジェクトは作られる。

git init 直後HEADの内容:

ref: refs/heads/main

mainという名前はここで決定されて、その後も使われる。初期化しただけでは ./.git/refs/heads/ は空で、HEADの参照先である ./.git/refs/heads/main は存在しない。

git add README.md しても見た目上の「リポジトリが空状態」は変わらないが、blobオブジェクトが1個作成される。index〈ステージ | キャッシュ〉を見ると:

> git ls-files --stage
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0       README.md

このblogオブジェクトは消えない/消せない -- git rm --cached README.md でインデックスのエントリーを削除はできるけど。ステージング状態のオブジェクトや参照困難になったオブジェクトの確認は、git ls-files --stage と git fsck --dangling