HEAD指的就是 .git/HEAD
文件,它存储着当前working directory所处的某次commit,打开文件内容为
ref: refs/heads/master
refs目录下存储的是仓库和tags,每个仓库下又有分支,每个tags下又有tag,一个tag对应的某次commit。
存储 local master 分支的最新commit对象的SHA-1
refs/heads/master
存储远程仓库 master 分支的最新commit对象的SHA-1
refs/remotes/origin/master
存储tag的SHA-1
tags/xxx
HEAD
是当前分支引用的指针,它总是指向某次commit,默认是上一次的commit。 这表示 HEAD
将是下一次提交的父结点。 通常,可以把 HEAD
看做你的上一次提交的快照。当然HEAD
的指向是可以改变的,比如你提交了commit,切换了仓库,分支,或者回滚了版本,切换了tag等。