Git——.git目录详解

打开一个项目的.git文件如下:
在这里插入图片描述

  • hooks:这个目录存放一些shell脚本。

  • info:包含git仓库的一些信息

  • logs文件夹,保存所有更新的引用记录。打开logs文件夹可以看到其中有两个文件,refs文件夹和HEAD文件。
    1、refs文件夹中有两个文件夹:
    在这里插入图片描述
    heads文件里面存储的是本地分支的对象,每个对象的文件名就是本地的一个分支名。我们使用git branch查看本地所有分支时,查询出的分支就是heads文件夹下所有文件的名称,这些分支文件中存储的是对应分支下的操作记录
    在这里插入图片描述
    在这里插入图片描述
    remotes文件夹里存储的是远程的所有分支对象,每个对象的文件名称就是远程的一个分支名称。这些分支文件中保存了远程仓库对应分支所有操作

    2、logs下的HEAD文件保存的是所有的操作记录,使用git reflog查询的结果就是从这个文件来的。
    打开HEAD文件内容如下
    在这里插入图片描述
    使用git reflog命令查看操作记录。
    在这里插入图片描述

  • objects文件夹:存放所有的 git 对象,哈希值一共40位,前 2 位作为文件夹名称,后 38 位作为对象文件名。

  • refs:顾名思义就是引用,refs下有三个文件夹。
    —heads:里面包含所有的本地分支,每个分支都是文件,文件中存储了分支当前指向的commit
    打开refs\heads\master文件查看,可以看到其中保存的确实是最近一次提交的commit id。
    在这里插入图片描述
    —tags 叫做里程碑,或者版本发布用等记录重要版本。
    —remotes,远程仓库信息
    ————其中\refs\remotes\origin\HEAD:指向远程仓库当前分支。
    在这里插入图片描述
    ————\refs\remotes\origin\master:远程分支当前指向的commit

  • COMMIT_EDITMSG:保存着最近一次的提交信息,Git系统不会用到这个文件,只是给用户一个参考。打开文件如下
    在这里插入图片描述

  • config。保存当前仓库的配置信息。
    在这里插入图片描述

  • description:仓库的描述信息。

  • HEAD文件:这就是我们常说的HEAD指针,它指向了当前分支。打开后如下:
    在这里插入图片描述
    可以清楚的看到它指向了master分支,有此也可以知道,HEAD实际上是指向分支的,分支指向提交。
    在这里插入图片描述

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值