Git Fundamentals
Start from nothing and finish with a real repository pushed to GitHub. Every command is introduced by the problem it solves, in plain language, before the syntax — no prior terminal experience assumed.
Start courseWhat you will cover
- Why Version Control ExistsWhat Git actually stores and why its workflow is shaped the way it is: snapshots, commit hashes, history as a graph, and why every clone is a full copy.20 min
- Installing GitGet Git onto your machine and teach it who you are. Includes a short orientation to the terminal for anyone who has never opened one, and why Git needs your name at all.30 min
- Configuring Git the Way You Want ItThe three config levels, your editor, line endings, and the handful of settings that remove daily friction — each introduced by the annoyance it fixes.30 min
- Your First Repository and CommitBuild a real repository from scratch. The .git directory, the three areas, reading git status, staging with add and add -p, and writing commit messages worth keeping.30 min
- Reading What ChangedAnswer what is different and who changed this line. git diff and --staged, reading a unified diff hunk by hunk, commit references, git show, log filtering, and blame.30 min
- Choosing What Git TracksKeep your repository to source and nothing else. .gitignore pattern syntax, why ignoring a tracked file does nothing, git rm --cached, check-ignore, and global ignores.25 min
- Undoing Things SafelyA decision guide for every common mess: restore, clean, amend, reset soft/mixed/hard, revert, and reflog rescue — with a clear line between what is recoverable and what is not.35 min
- Branching and Merging BasicsBranches as movable labels, switching without losing work, fast-forward versus three-way merges, resolving your first conflict, and cleaning up merged branches.30 min
- Working with Remotes and GitHubBack your work up and share it. Clone versus remote add, SSH keys and tokens, upstream tracking, what origin/main really is, fetch versus pull, and the rejected push.35 min