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下面生成对象的类型和内容:

创建一个目录,目录下生成一个文件,再进行一次提交,看一下都生成了哪些对象:

posted @ 2022-01-03 16:02  世间很大  阅读(141)  评论(0编辑  收藏  举报