"git clone ..."の後にコミットオブジェクトはどこにありますか?

After I typed git clone I see that .git/refs/heads/master was created with SHA1_code inside.

SHA1_code が( git cat-file -t SHA1_code をタイプして)コミットオブジェクトを指していることがわかりましたが、このコミットオブジェクトを .git/objects

このコミットオブジェクトはどこにありますか?

0

1 答え

おそらくパックに入っているでしょう

パックファイル (Pro Gitの章9-4)を参照してくださいgitオブジェクトデータベースの詳細を学ぶ

Gitがオブジェクトをディスクに保存する初期のフォーマットは、緩いオブジェクトフォーマットと呼ばれます。しかし時にはGitはこれらのオブジェクトのいくつかを、スペースを節約し、より効率的にするためにpackfileという単一のバイナリファイルにまとめます。これはgit gcコマンドを手動で実行した場合や、リモートサーバーにプッシュした場合に、周囲のオブジェクトが多すぎる場合にこれを行います。何が起きているのかを知るには、git gcコマンドを呼び出すことによって、Gitにオブジェクトをパックするように手作業で依頼することができます:

2
追加された