.git目录存放的是git的最核心的东西。
HEAD文件
内容是当前工作在哪个分支上。
config文件
其实就是git config --local 设置的一些信息 如果在本文件中修改,那么git config查看也会变。
ref文件夹
heads文件夹
里面是branch的名称,内容是对应的哈希值
tags文件夹
和head类似
objects文件夹
可以通过git cat-file 命令查看哈希值对应的信息
git cat-file -t 哈希值 看类型
git cat-file -p 哈希值 看内容
git 三种对象类型
commit
一个commit只有一棵树,有各种子树和叶子节点。
tree
文件夹是树 树的根是commit的那个
blob
blob和文件名没有任何关系,只要内容相同就是一个blob
如何确定tree的个数
git add之后,会在objects目录下有个blob的文件。commit之后会有commit和tree
这是我在极客时间的2月第22天学习,内容来源于玩转 Git 三剑客 (geekbang.org)