.git文件夹详解

         在git 克隆代码之后,还不能直接使用git,而需要初始化git,它会自动创建git仓库需要的目录。这些文件存在于项目下的.git文件夹下。

         .git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,这里包含所有git操作所需要的东西,如下图:

               .git文件夹详解_第1张图片

hooks(钩):存放一些shell脚本

Infoexclude:存放仓库的一些信息

logs:保存所有更新的引用记录

HEAD

refsheadsremote

.git文件夹详解_第2张图片

objects:存放所有的git对象

                .git文件夹详解_第3张图片

         例如:logs中  9e63549ae26ed3bff8b96adb6498520855d52d可以找到下图

               .git文件夹详解_第4张图片

               

refs

heads:保存当前最新的一次提交的哈希值

COMMIT_EDITMSG

最新提交的一次Commit Messagegit系统不会用到,给用户一个参考

description:仓库的描述信息,主要给gitweb等git托管系统使用

configgit仓库的配置文件

                .git文件夹详解_第5张图片

index:暂存区(stage),一个二进制文件

FETCH_HEAD: 是一个版本链接,指向着目前已经从远程仓库取下来的分支的末端版本

HEAD:映射到ref引用,能够找到下一次commit的前一次哈希值(看上面logs的图)

ORIG_HEAD:HEAD指针的前一个状态

               

         在logs/HEAD中,最后一条提交记录,当前hash值

               

packed-refs:

               


         当更新一个引用时,git不会packed-refs,而是会在refs/heads下写入一个新文件。当查找一个引用时,git首先在refs目录下查找,如果未找到则到packed-refs文件中去查找。

看完文件夹目录,感觉git的理解是不是又深了一步

祝好运

你可能感兴趣的:(【工具管理】)