这里涉及到三个sha1值,commit、tree和parent
commit 保存着基础信息,包含本次提交的sha1,注释,父节点的id
tree 保存着文件的基本信息,文件内容保存在tree中id对应的文件里
parent 父节点信息
文件内容通过下面命令:
[yanqing4@localhost sample]$ git cat-file -p be0767d1b
100644 blob 6ad9396c22bffa93eb2afd85b9af71daaccc2b2e a.txt
获得id为:
6ad9396c22bffa93eb2afd85b9af71daaccc2b2e再通过 git cat-file -p 6ad9396可以获得。
文件保存在.git/objects中上面前两位红色对应objects目录索引,后38绿色位为目录名。
[yanqing4@localhost sample]$ ls .git/objects/6a/
d9396c22bffa93eb2afd85b9af71daaccc2b2e
更详细的信息参考:
http://git-scm.com/book/zh/ch9-2.html