.git目录下各项的含义

121 阅读1分钟

当我们执行git init,得到一个初始化的git仓库后,会在当前目录下生成一个.git目录,这里面包含了我们的暂存区和仓库目录的信息,那么每一项的具体代表的是什么?

通过tree命令看一下初始化后的默认结构:
当前git版本1.8.3.1

image.png

对象作用
descriptiongitweb程序使用,不需关心
config包含项目特有的配置项
info包含一个全局性排除文件--exclude,用以放置那些不希望被记录在gitignore文件中的忽略模式
hooks包含客户端和服务端的钩子脚本
objects存储所有数据内容
refs存储指向数据(分支、远程仓库和标签)的提交对象的指针
HEAD指向目前被检出的分支
index保存暂存区信息

objects,refs,HEAD,index是git的核心部分。