refs就是一个文件记录了一个Git提交的SHA-1的值。在.git/refs 目录下。


$ find .git/refs
.git/refs
.git/refs/heads
.git/refs/tags
$ find .git/refs -type f
CODE

两个分支的仓库,git存储模型如下:



git update-ref refs/heads/test cac0ca
CODE

以上命令更新或者生成一个refs

git branch <branch> 命令就是使用 git update-ref 命令更新了branch的refs为最新的提交的SHA-1。.git/HEAD文件记录了当前的分支。