当我们执行git init,得到一个初始化的git仓库后,会在当前目录下生成一个.git目录,这里面包含了我们的暂存区和仓库目录的信息,那么每一项的具体代表的是什么?
通过tree命令看一下初始化后的默认结构:
当前git版本1.8.3.1
| 对象 | 作用 |
|---|---|
| description | gitweb程序使用,不需关心 |
| config | 包含项目特有的配置项 |
| info | 包含一个全局性排除文件--exclude,用以放置那些不希望被记录在gitignore文件中的忽略模式 |
| hooks | 包含客户端和服务端的钩子脚本 |
| objects | 存储所有数据内容 |
| refs | 存储指向数据(分支、远程仓库和标签)的提交对象的指针 |
| HEAD | 指向目前被检出的分支 |
| index | 保存暂存区信息 |
objects,refs,HEAD,index是git的核心部分。