在 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标签