Git目录信息

Git目录是为你的项目存储所有历史和元信息的目录-包括所有的对象(commits,rees,blobs,tags),这些对象指向不同的分支。

每一个项目只能有一个Git目录(这和SVN,CVS的每个子目录中都有此类目录相反),这个叫’.git’的目录 在你项目的根目录下(这是默认设置,但并不是必须的)。如果你查看这个目录的内容,你可以看所有的重要文件:

$>tree -L 1
.
|-- HEAD         # 这个git项目当前处在哪个分支里
|-- config       # 项目的配置信息,git config命令会改动它
|-- description  # 项目的描述信息
|-- hooks/       # 系统默认钩子脚本目录
|-- index        # 索引文件
|-- logs/        # 各个refs的历史信息
|-- objects/     # Git本地仓库的所有对象 (commits, trees, blobs, tags)
`-- refs/        # 标识你项目里的每个分支指向了哪个提交(commit)。

1. HEAD文件:这就是我们常说的HEAD指针,它指向了当前分支。

2. config:保存当前仓库的配置信息。

3. description:仓库的描述信息。

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

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

6. info:包含git仓库的一些信息。

7. logs文件夹,保存所有更新的引用记录。打开logs文件夹可以看到其中有两个文件,refs文件夹和HEAD文件。

refs文件央中有两个文件决:

  1. heads:文件里面存储的是本地分支的对象,每个对象的文件名就是本地的一个分支名。我们使用git branch查看本地所有分支时,查询出的分支就是heads文件夹下所有文件的名称,这些分支文件中存储的是对应分支下的操作记录。
  2. remotes:文件夹里存储的是远程的所有分支对象,每个对象的文件名称就是远程的一个分支名称。这些分支文件中保存了远程仓库对应分支所有操作。

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

9. refs:顾名思义就是引用,refs下有三个文件夹。

  1. heads:里面包含所有的本地分支,每个分支都是文件,文件中存储了分支当前指向的commit
  2.  tags:叫做里程碑,或者版本发布用等记录重要版本。
  3.  remotes:远程仓库信息
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值