Skip to content

๐Ÿ“š Git Internals - Master Course โ€‹

๐Ÿ”ฎ Understand Git at the Deepest Level

From objects to branches, from blobs to commits


๐ŸŽฌ Video Series โ€‹

#TopicVideoNotes
01IntroductionWatch01-intro
02Git ObjectsWatch02-git-objects
03BranchesWatch03-git-branches
04Creating Repo From ScratchWatch04a-repo-from-scratch
05Working with BranchesWatch04b-branches-from-scratch

๐Ÿ“ Transcripts: Available in transcripts/ folder


๐Ÿ—บ๏ธ Learning Path โ€‹


๐Ÿงช Lab Environment โ€‹

Create an isolated Docker environment for hands-on practice:

bash
# Create persistent volume
docker volume create git-lab

# Start container
docker run -d --name git-lab \
  -v git-lab:/workspace \
  -w /workspace \
  alpine:3.19 \
  sleep infinity

# Access the lab
docker exec -it git-lab sh

# Install tools
apk add --no-cache git bash curl tree

๐ŸŽฏ Key Concepts Quick Reference โ€‹


๐Ÿ“– What You'll Learn โ€‹

๐Ÿ“ฆ Git Objects

  • How files become blobs
  • How directories become trees
  • How snapshots become commits
  • SHA-1 hashing explained

๐ŸŒฟ Branches

  • Branches are just pointers
  • HEAD explained
  • How checkout works
  • Branch creation internals

๐Ÿ”ง Plumbing Commands

  • git hash-object
  • git cat-file
  • git update-index
  • git write-tree
  • git commit-tree

๐Ÿ—๏ธ Build From Scratch

  • Create .git manually
  • Create commits without git commit
  • Create branches without git branch
  • Switch branches without checkout

โšก Quick Start โ€‹

Jump to any lesson:

If you want to...Go to...
Understand why this matters01-intro
Learn about blobs, trees, commits02-git-objects
Understand branches03-git-branches
Build a repo from scratch04a-repo-from-scratch
Create branches manually04b-branches-from-scratch

๐Ÿš€ Ready to Master Git?

Start with Lesson 01: Introduction

Released under the MIT License.