首先将文件A.txt添加到暂存区(stage):
$ git add A.txt
此时我们可以看到objects下多出了一个f7文件目录和index。
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
image.png
小结:
每将一个文件git add到暂存区(stage)中都会在objects里生成一个blob文件,然后index会保存暂存区(stage)信息。











网友评论