The Detached Head state occurs when our HEAD pointer is pointing at a Commit rather than a Branch. We can get into this scenario by performing a Checkout against a Commit rather than a Branch. In this Git tutorial we look are this with the aid of a visual graph so we can visualize what is actually going on under the hood in Git internals.