Git: What is HEAD?
May 01, 2025
1 min read
2 views
You see HEAD everywhere in Git. What is it?
The Pointer
HEAD is simply a file inside .git/ that points to the current branch you are working on.
Code
cat .git/HEAD
# ref: refs/heads/main
And what is refs/heads/main? It's a file containing the SHA-1 hash of the last commit.
Code
cat .git/refs/heads/main
# a1b2c3d4...
Detached HEAD
If you checkout a commit directly (git checkout a1b2c3), HEAD points directly to the hash, not a branch. You are in "Detached HEAD" state.
If you commit now, no branch tracks your new commit. If you switch away, the Garbage Collector will eventually eat your work.
Conclusion
Git is not a black box. It's just files and pointers. Don't fear the HEAD.
Similar Posts
Docker: Init Systems (PID 1)
Jul 11, 2025
Linux: The '/proc' Filesystem
Mar 18, 2025
Python: Memory Management & Garbage Collection
Jan 25, 2025