SYSTEM-DESIGN
    beginner

    Git & Version Control Internals

    Software Engineer path · lesson 8 of 99

    Commit Graph

    Circles = commits, lines = parent links, pointers = branch tips

    HEAD → c3
    on main
    a1b2

    Initial commit

    e4f5

    Add README

    i7j8

    Add CI config

    main
    Commit (main)
    Commit (feature)
    Merge commit (2 parents)
    HEAD

    Blob, tree or commit?

    Sort

    Sort each description into the Git object type.

    Tap a piece, then tap where it goes — or drag it. Tap the tray to take one back.

    Blob

    Drop items here

    Tree

    Drop items here

    Commit

    Drop items here
    6 pieces left to place

    Test your knowledge

    20 questions
    Question 1 of 20
    Score: 0

    What does a Git commit actually store?

    The short version

    Think of commits like photos in a family album: each photo captures the whole scene at one moment, and a sticky arrow on the last photo is your branch pointer. Creating a new branch is just adding a second arrow — no copies made.

    Interview Questions

    Google
    Microsoft
    Meta
    Google
    Amazon
    Stripe

    Love this visualization?

    Sign up to track your progress, earn achievements, use the AI assistant, and access your personal learning dashboard.

    100% free • No credit card required