.git目录中到底有什么

143 阅读1分钟

.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 三种对象类型

image.png

commit

一个commit只有一棵树,有各种子树和叶子节点。

image.png

tree

文件夹是树 树的根是commit的那个

blob

blob和文件名没有任何关系,只要内容相同就是一个blob

如何确定tree的个数

image.png

git add之后,会在objects目录下有个blob的文件。commit之后会有commit和tree

image.png

这是我在极客时间的2月第22天学习,内容来源于玩转 Git 三剑客 (geekbang.org)