当我刚将文件添加到暂存区时,为什么 Git 会将文件存储在存储库中?

Asa*_*svi 4 git git-add .git-folder

据我了解,当您git add创建文件时,它只是在将文件添加到存储库之前暂存该文件,但为什么我可以在提交之前看到它已添加到 git 存储库中?

例如,如果我创建一个新的 git 存储库并创建一个名为的新文件foo并将内容“hello world”添加到其中,然后,我会在该文件夹内的子目录git add foo中看到一个新项目。我什至可以使用命令查看文件内新文件的内容。objects.gitobjectsgit cat-file -p

文件夹中到底添加了什么.git/objects?从技术上讲,暂存文件有什么作用?git add比如对文件运行a 后会发生哪些步骤?如果我知道步骤,也许我会更好地理解它。

Jör*_*tag 5

暂存区是存储库的一部分。

我认为您将存储库的对象数据库与历史混淆了。只有提交才是历史记录的一部分,但 Git 句柄的所有对象都是对象数据库的一部分。

想一想:Git 不会驻留在内存中,那么除了对象数据库之外,它还会在哪里记录暂存区域的一部分呢?