Git 05 .git 目录探密

我们进入到.git 里看看里面都有哪些东西,如下图:


image.png

下面我们对一些关键文件进行一下说明

  • HEAD


    image.png

    从上边的截图中可以看出HEAD是一个引用,指向ref: refs/heads/temp, 说明我们的Git仓库正在工作的分支是temp

  • config
    cat .git/config 去查看config 里面都有哪些配置信息


    image.png

    [user] 部分是我们很熟悉的用户名和邮箱的配置信息
    [core] 里是一些比较核心的配置信息

  • refs
    包换了分支的引用情况,包含了heads 和 tags 两个文件夹,heads 里边包含了我们当前仓库的所有的分支,tags 包含了我们重要节点的代码,例如发布新版本的代码通常都会打一个tag


    image.png

    image.png
  • objects
    我们进到objects文件里看到09、15、3d 这样的文件夹,还有pack 文件,pack文件的作用是存放像09、15、3d这样的文件,会把这样太松散的文件进行打包存储。


    image.png

    我们进去09看看里面到底是什么


    image.png

    我们可以看到09 里有这么一串字符串 522d59fc7c2717dd84b0ed5103dc46ce5a48bc,git 是把09和这个字符串拼接在一起作为一个tree的哈希值,我们通过命令 git cat-file -p 09522d59fc7c2717dd84b0ed5103dc46ce5a48bc 去查看这个tree 发现这个tree 里包含两个blob,分别对应了style.css.01和style.css.02 文件。
    tree 、blob 和 commit 之间到底是什么关系后面的博客会做详细的解释。

总结

以上介绍的.git 目录里的内容是一些关键的内容,其他内容后续在做补充。

你可能感兴趣的:(Git 05 .git 目录探密)