Most developers use Git every day, but few understand what’s happening under the hood. In this module, we peel back the layers of abstraction to reveal the simple, elegant data structures that make Git so powerful.

You will learn that Git is essentially a content-addressable filesystem with a VCS user interface written on top of it. By understanding the internals, you’ll gain the confidence to fix complex merge conflicts, recover lost work, and use Git to its full potential.

Module Contents

  1. The Dot Git Directory
    Explore the hidden .git folder and understand the purpose of HEAD, config, index, and the objects database.

  2. Git Objects
    Deep dive into the four core Git objects: Blobs, Trees, Commits, and Tags. Understand how SHA-1 hashing links them together in a Directed Acyclic Graph (DAG).

  3. Plumbing Commands
    Learn the difference between “porcelain” (high-level) and “plumbing” (low-level) commands. manually create a commit using only plumbing commands.

  4. Module Review
    Test your knowledge with flashcards and a quick reference cheat sheet.

Chapter 01

The .git Directory

[!NOTE] “If you know the enemy and know yourself, you need not fear the result of a hundred battles.” — Sun Tzu To master Git,...

Start Learning
Chapter 04

Module Review: Git Internals

Key Takeaways Git is a Content-Addressable Filesystem: It stores data based on the hash of its content, not its filename. The .git directory: Contains everything...

Start Learning