Version Control GIT

Updated 8 September 2026

Version Control GIT — a complete, self-contained learning track in 15 modules. It teaches you Git from the first git init to the internals, recovery tools, and fleet-scale practices that DevOps interviews actually probe.

What it assumes: nothing about Git or version control. You only need a Linux machine (or macOS, or WSL on Windows) with a terminal you can open. Every concept is taught before it is used — start at Module 1 and the track never references anything it has not already explained. Where a topic borders another track in this DevOps Learning library — Linux, Bash Scripting, SSL Certificates — the module links you there.

🗺️ Roadmap

Foundation

1. Why Version Control, and What Git Actually Is — config

2. Your First Repository — init · add · commit · status · diff

3. How Git Stores Your Work — cat-file · objects · refs

4. Reading History — log · show · diff ranges

5. Branching — branch · switch · checkout

Intermediate

6. Merging — merge · conflicts

7. Undoing Work — reset · revert · restore · reflog

8. Remotes — clone · fetch · pull · push

9. Collaboration Workflows — PRs · forks · Git Flow

10. Rewriting History — rebase · cherry-pick

Advanced

11. Stash and Worktrees — stash · worktree

12. Tags and Releases — tag · describe · semver

13. Searching and Debugging History — blame · bisect · grep

14. Ignoring, Attributes, and Big Files — .gitignore · LFS · submodules

15. Hooks, Maintenance, and Git at Scale — hooks · gc · fsck

📚 Modules

Module 1 — Why Version Control, and What Git Actually Is (git config)Module 2 — Your First Repository (git init, add, commit, status, diff)Module 3 — How Git Stores Your Work (objects, refs, git cat-file)Module 4 — Reading History (git log, show, diff ranges)Module 5 — Branching (git branch, switch, checkout)Module 6 — Merging (git merge, merge conflicts)Module 7 — Undoing Work (git reset, revert, restore, reflog)Module 8 — Remotes (git clone, fetch, pull, push)Module 9 — Collaboration Workflows (pull requests, forks, Git Flow)Module 10 — Rewriting History (git rebase, cherry-pick)Module 11 — Stash and Worktrees (git stash, worktree)Module 12 — Tags and Releases (git tag, describe, semver)Module 13 — Searching and Debugging History (git blame, bisect, grep)Module 14 — Ignoring, Attributes, and Big Files (.gitignore, git lfs, submodules)Module 15 — Hooks, Maintenance, and Git at Scale (hooks, git gc, fsck)

🧭 How to use this

Work through the modules in order — each one uses only what earlier modules taught. Inside a module: read the concept, read the analogy, then type the exercise yourself (do not copy-paste) and try to predict the output before opening the ✅ expected-result toggle. Some exercises fail on purpose — the error message is the lesson. At the end of each Part, attempt the 🎯 interview questions out loud before opening the answers; the gap between your answer and the hidden one is exactly what to study. Finish each module with its self-assessment list before moving on.
Spotted a mistake or want something added? Send me a note.