Git中的三种对象
1、Git中有三种对象
- commit 每执行一次
git commit
,git都会对当前工作目录的所有文件生成一次镜像,工作区下的目录对应的对象是tree,工作区下的文件对应的对象是blob,tree下面可以有blob,又可以有tree; - tree tree表示每次提交对工作区下的目录生产的镜像;
- blob 每执行一次
git add
,git都会对新增或修改的文件在.git/objects
下生成一个镜像文件,该文件就是一个blob;
2、.git目录
├─hooks
├─info
├─logs
│ └─refs
│ └─heads
├─objects ---每次提交生产的对象,包含了commit、tree、blog对象
│ ├─a4
│ ├─c5
│ ├─da
│ ├─info
│ └─pack
└─refs
├─heads ---记录分支信息
└─tags ---记录标签信息
3、相关命令
3.1、查看对象类型
git cat-file -t 文件名
3.2、查看对象内容
git cat-file -p 文件名
4、验证一下
执行一次git add
操作,看一下.git/objects
下面生成对象的类型和内容:
创建一个目录,目录下生成一个文件,再进行一次提交,看一下都生成了哪些对象:
本文来自博客园,作者:世间很大,转载请注明原文链接:https://www.cnblogs.com/oamha/p/15759771.html