その事前コミットのgitでHEADが存在することを確認するようです。そうでなければ、インデックスを比較するために空のツリーの特別なハッシュにデフォルト設定されます。gitのプリコミットフックがHEADが存在することを確認するのはなぜですか?
if git rev-parse --verify HEAD >/dev/null 2>&1
then
against=HEAD
else
# Initial commit: diff against an empty tree object
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
デフォルトのハッシュは特別なハッシュです。私はまた、
git hash-object -t tree < /dev/null
against
経由でそれを得ることができることを読んで、この
# If there are whitespace errors, print the offending file names and fail.
exec git diff-index --check --cached $against --
はなぜフックはそれをするのかのように、後に使用されていますか?どのような状況で私はコミットを行うことができますが、HEADは無効になりますか?