AnyLearn
All cursus
Programmingadvanced

Git Internals: The Model Under the Commands

Git's command line has a deserved reputation, and the data model underneath is small and regular. It is a content-addressed store of four object types, plus a set of files holding hashes. This path derives the object hash by hand, shows that a branch is a forty-character file, explains what a three-way merge actually computes and why rebase creates new commits rather than moving them, and ends with recovery. Every command turns out to add objects or move a pointer.

0 of 4 lessons complete
Sign in to track progress and earn a certificate.

Lessons, in order

  1. 1
    Programming
    The Object Database: Git Is a Content-Addressed Store
    Start
  2. 2
    Programming
    Refs: A Branch Is a File Containing a Hash
    Start
  3. 3
    Programming
    Merge and Rebase: Two Answers to Divergence
    Start
  4. 4
    Programming
    Undo: Reset, Revert, Restore, and Getting Work Back
    Start