What is HEAD in Git?

git

Solution

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:

cat .git/HEAD

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.

Problem

You see the Git documentation saying things like The branch must be fully merged in HEAD. But what is Git `HEAD` exactly?

Original source

Related problems