Platforms and technologies
Track changes, collaborate safely, and explain the history of a codebase.
git init
git add .
git commit -m "Start a small project"COURSE CURRICULUM
Finish one section at a time or jump directly to a concept you need.
Learn how repositories, working trees, and the object database works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how status, diffs, staging, and commits works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how configuration, identities, remotes, and refs works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how blobs, trees, commits, tags, and hashes works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how revision syntax, ancestry, and comparisons works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how restoring, reverting, and choosing recovery paths works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how history traversal, bisect, and blame works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how aliases, hooks, templates, and reusable workflows works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how branches, tags, remotes, and tracking refs works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how commit messages, patches, and text conflicts works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how conflict recovery, reflog, and safe undo works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how repository layout, submodules, and worktrees works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how merge, rebase, cherry-pick, and history design works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how files, ignores, attributes, and large data works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how testing changes with ci and pre-commit checks works in Git, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.