私はPro Gitの3.1節で次のように説明しました:コミットする前にブロブがリポジトリに表示されるのはなぜですか?
"3つのファイルを含むディレクトリがあり、すべてをステージングしてコミットしたとしましょう。ファイルをステージングすると、それぞれのチェックサムが計算されます「Getting Started」で言及したSHA-1ハッシュ)、そのファイルのバージョンをGitリポジトリに格納し(Gitはそれらをblobとして参照します)、そのチェックサムをステージング領域に追加します。私はそれらのファイルをコミットする前に "Gitリポジトリにファイルのバージョンを保存"していますか?
これは、インデックス/ステージング領域の仕組みです。コミットのすべての部分を作成し、commitコマンドを発行すると、それらのオブジェクトを履歴に結び付けます。 – siride
あなたはhttps://matthew-brett.github.io/curious-git/curious_journey.html – mkrieger1
を読むことに興味があるかもしれません。サイレントを明確にするために、gitはブロブをコミットするときにどこでもファイルを実際に "移動"しません。木を介してあなたのブロブを参照するコミットオブジェクトを導入することによって、それらをあなたの履歴に追加できます。そうであれば、インデックスとリポジトリは別々に表示されますが、実際は同じファイルに依存しています。 – Jack