了解.git文件夹中的内容

.git目录下有这些文件/文件夹,那么这些文件/文件夹到底有哪些作用呢

了解.git文件夹中的内容_第1张图片

 1、HEAD文件

HEAD文件中记录的是当前工作所在的分支

2、config文件

了解.git文件夹中的内容_第2张图片

config文件是git用来记录配置的文件,记录了我们之前设置的用户名和电子邮件以及其他信息

3、refs文件夹

了解.git文件夹中的内容_第3张图片

文件夹中有heads(代表分支)和tags(代表标签)

了解.git文件夹中的内容_第4张图片

heads文件夹存放的是分支信息

通过git cat-file -t af4fcee859d8fe3命令,发现这是一个commit
4、objects文件夹中存放的是git存放的内容

了解.git文件夹中的内容_第5张图片

在objects目录下,我们进入c8文件夹,将文件夹名称c8和文件夹下面的文件的名称组合起来得到一个新的值,使用

git cat-file -t c88222e1b3384f294ecdf3a24db4658c0630d1ed命令查看,发现是tree。

我们通过另一个参数进行内容的查看

git cat-file -p c88222e1b3384f294ecdf3a24db4658c0630d1ed
了解.git文件夹中的内容_第6张图片

你可以尝试多查看几个文件夹下的内容,就会发现他的奥妙

首先复习一下下面的命令:

cat 命令, 功能:用来显示文件。 例如 cat text.md 显示 text.md 文件的内容
ls -al 命令, 表示列出当前目录下的所有文件(包括隐藏文件)
git cat-file -t + 对象哈希值 命令 , 查看 git 对象的类型
git cat-file -p + 对象哈希值 命令, 查看 git 对象的内容
git cat-file -s + 对象哈希值 命令, 查看 git 对象的大小
注意,在使用对象的哈希值的时候可以只取前几位数字,只要没有重复就行
--------------------- 
 

git对象彼此关系(commit,tree,blob)

每个commit对应一个tree

tree里面包含了tree和blob(修改的文件)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(git)