git文件系统
git的文件系统存在与git项目下的.git目录
ls .git会发现许多文件和文件夹,例如:
config 存放本地仓库(local)相关的配置信息
description (仓库的描述信息文件)
HEAD (指向当前所在的分支),例如当前在 develop 分支,实际指向地址是 refs/heads/develop
objects [文件夹] (存放所有的 git 对象,对象哈希值前 2 位作为文件夹名称,后 38 位作为对象文件名, 可通过 git cat-file -p 命令,拼接文件夹名称+文件名查看),hash值显示位数长度,取决于标识唯一性所需的位数
refs [文件夹] 存放引用文件
refs/heads (存放当前项目的所有分支)
refs/tags (存放的当前项目的所有标签,又叫做里程碑)
我们日常用命令实现的一些操作就是在修改文件系统中的一些文件内容,反之,直接修改文件内容,也可以达到使用命令操作的效果
比如使用切换分支 git checkout master命令,将分支从develop切换到master则HEAD文件会变为refs/heads/master
git cat-file -t 文件名, 查看 git 对象的类型
git cat-file -p 文件名, 查看 git 对象的内容
git cat-file -s 文件名, 查看 git 对象的大小
转载于:https://blog.51cto.com/13622854/2360157