You can think of the HEAD as the "current branch". When you switch branches with
git checkout, the HEAD revision changes to point to the tip of the new branch.
You can see what HEAD points to by doing:
In my case, the output is:
$ cat .git/HEAD ref: refs/heads/master
It is possible for HEAD to refer to a specific revision that is not associated with a branch name. This situation is called a detached HEAD.