Git and GitHub Foundations
Use version control as a daily engineering tool instead of a backup button.
Lessons
Working Tree, Staging Area, Commits, and Branches
The working tree is your current files, the index/staging area selects the next snapshot, and commits form history.
Lab — Working Tree, Staging Area, Commits, and Branches
Hands-on transfer lab for the preceding concept.
Reading Diffs and Writing Useful Commits
git diff shows unstaged changes; git diff --staged shows what will enter the next commit.
Lab — Reading Diffs and Writing Useful Commits
Hands-on transfer lab for the preceding concept.
Branches, Merge, Rebase, and Conflict Mental Model
Branches allow independent lines of work that eventually need integration.
Lab — Branches, Merge, Rebase, and Conflict Mental Model
Hands-on transfer lab for the preceding concept.
Remotes, Push/Pull, and Pull Requests
A remote is another repository; origin is a conventional name, not a magic GitHub keyword.
Lab — Remotes, Push/Pull, and Pull Requests
Hands-on transfer lab for the preceding concept.
Safe Recovery and Undo
Different mistakes need different tools: restore working changes, unstage, revert a committed change, or move a local branch intentionally.
Lab — Safe Recovery and Undo
Hands-on transfer lab for the preceding concept.