Git Mechanism<2> add

首先将文件A.txt添加到暂存区(stage):

$ git add A.txt

此时我们可以看到objects下多出了一个f7文件目录和index

Git Mechanism<2> add_第1张图片
image.png

我们来看一下f7

$ find .git/objects/
.git/objects/
.git/objects//pack
.git/objects//info
.git/objects//f7
.git/objects//f7/0f10e4db19068f79bc43844b49f3eece45c4e8

f7目录下存放了一个文件,文件名为0f10...
此处说明:根据文件生成40位的HS-1值,将前2位作为文件夹名,后38位作为文件名。接下来我们使用git的分析命令看一下这个文件:

$ git cat-file -t f70f //HS-1值的前几位
blob
$ git cat-file blob f70f
A

blob里面我们看到了字母A,而这个字母就是我存放在A.txt中的内容。
最后我们来看一下index

$ cat index
DIRCZ`?_&
         ??Z`?_&
                ??'װ???????y?C?KI???E??A.txtTREE1 0
?p??#??? ??o?
             ???L+[????????}?W?Z
Git Mechanism<2> add_第2张图片
image.png

小结:

每将一个文件git add暂存区(stage)中都会在objects里生成一个blob文件,然后index会保存暂存区(stage)信息。

你可能感兴趣的:(Git Mechanism<2> add)