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