Table of Contents To navigate, simply click on the title or topic below. Each document is in the order in which they should be read. Git Internals Git vs Traditional Version Control Systems Git as a Content-Addressable File System Understanding the Git Object Database The Three Core Object Types Explained How Git Stores Data The Directed Acyclic Graph (DAG) Commit Ancestry Basics of Rebasing Visualizing Commit Graphs in Git Bash Git References What Are References Branches Are Just Pointers How Branches Move What is HEAD? Symbolic References Direct References Understanding Tags Lightweight vs Annotated Tags When to Use Each Type of Tag Detached HEAD State Recover Work From Detached HEAD State