赞
踩
.git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,这里包含了所有git操作需要的东西:
hooks:这个目录存放一些shell脚本,可以设置特定的git命令后触发相应的脚本;在搭建gitweb系统或其他git托管系统会经常用到hook script.
info:包含仓库的一些信息
logs:保存所有更新的引用记录
比如有个HEAD文件,里面是这样子:
objects:该目录存放所有的Git对象,对象的SHA1哈希值的前两位是文件夹名称,后38位作为对象文件名。
refs:具体的引用,Reference Specification,这个目录一般包括三个子文件夹,heads、remotes和tags,比如,heads中的master文件标识了项目中的master分支指向的当前commit,其他类似。
COMMIT_EDITMSG:保存最新的commit message,Git系统不会用到这个文件,只是给用户一个参考。
config:这个是Git仓库的配置文件。
description:仓库的描述信息,主要给gitweb等git托管系统使用。
index:这个文件就是暂存区(stage),是一个二进制文件。
HEAD:这个文件包含了一个分支(branch)的引用,通过这个文件Git可以得到下一次commit的parent。引用可以理解为指针,哪儿都可以指,但是不能指向没有的东西哦。
因为git是根据哈希值索引的,计算机内部这样处理,为了方便我们使用,所以出现了引用的概念,Git系统中的分支名、远程分支名、tag等都是指向某个commit的引用。比如master分支,origin/master远程分支,命名为V1.0的tag等都是引用,它们通过该保存某个commit的SHA1哈希值指向某个commit的点。
ORIG_HEAD:HEAD指针的前一个状态
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。