第十五周_T- git 目录浅析

81 阅读1分钟

在 git 系列中基本把日常开发中一些高频操作都介绍完了。来点不常见的学习学习。以前的学习专栏:juejin.cn/column/7157…

所有的操作都是基于 .git 目录下,这个目录是隐藏的,把查看-》隐藏的项目勾选即可看见

HEAD文件

HEAD 文件:指向当前代码工作分支

cat HEAD

ref:refs/heads/dev

我们可以直接编辑此文件(vi),效果和 git checkout 一样。就是切换本地分支。

config文件

config 文件:存放与本地仓库相关的信息:本地分支信息,远程服务器信息

objects文件夹

2位文件夹

objects:存放对象,文件夹下的子文件夹都是以哈希值的前两位字符命名,每个 object 由 40 位字符串组成,前面 2 位字符用来当文件夹,后 38 位做文件

如果要查看文件:2 位文件夹名 + 38 位文件名作为唯一 hash

git cat-file -t hash # 显示是什么类型 commit / tree / blog

git cat-file -p hash # 显示内容,也会显示什么类型,如果是一个文件可以直接打开,

git cat-file -s hash # 显示大小

pack 文件夹

Git 松散的文件多了,Git 会打包文件

logs 文件夹

HEAD 文件

保存了所有操作记录,使用 git reflog 查询结果就是从这个文件来的。

refs 文件夹

stash

对的,没看错,就是 git stash 生成的记录。使用 git stash list 也能看见。

heads

本地分支的操作日志

remotes

远程分支的操作日志

refs 文件夹

heads 文件夹

一系列的本地分支

remotes文件夹

远程仓库分支

tags文件夹

tag标签