- HEAD文件
记录仓库当前是工作在哪个分支上,是一个引用,指向refs目录里某一个具体的分支文件;如果是处在分离头指针的场景下,HEAD的内容是一个具体的commit。
不管是在分支上还是出于分离头指针的情况,HEAD最终始终都是跟某一个commit挂钩的。
- config文件
记录仓库的git配置信息。 - refs文件夹
包含heads和tags文件夹。heads里面包含所有分支文件,分支文件内容是commit对象;tags包含所有tag,tag文件中的object指向对应的commit对象。 - objects
存放git里的对象。git里有四个对象:commit
、blob
、tree
、tag
。简单理解为,tag里面包含commit,commit里包含tree,tree里面包含tree和blob,blob就是单个文件。
扩展
git cat-file -t xxxx // 查看xxx git 对象的类型
例如:
git cat-file -t 00b5caac0bfff797e7dd8ba3df7e176366d284f8 // commitID
commit
git cat-file -p xxxx // 查看xxx git 对象的内容
例如:
git cat-file -p 00b5caac0bfff79
tree 7b2a4cc1de9b1a76c7cbdebe8fd619a040e80fad
parent 04f5cafc35205a0383660932e99f9488e8028802
author qianyb <qianyb@ctrip.com> 1570790626 +0800
committer qianyb <qianyb@ctrip.com> 1570790626 +0800
Move readme to readme.md
git 里的hash值如果能够唯一识别,则hash值可以不用完全输入。
网友评论