Stage 2 of 6 · 7 lessons · ~4 weeks
Git and GitHub for contributors
Contributing means working in a repository you do not own. Learn the fork and branch workflow, keeping a fork in sync with upstream, rebasing, and commits a reviewer can read.
Start: Everyday commands: status, diff, stash, logLessons· one lesson for each topic, in this order
Start with
- BookFreePro Git
Scott Chacon and Ben Straub
Chapters 3, 5 and 6: branching, contributing to a project, and GitHub forks
Practise
Keep handy
Also worth your time
Before moving on: In a practice repository with an upstream remote, open a pull request from a branch, rebase it onto an updated upstream, resolve a conflict, and squash it into commits with clear messages.

Learn a dozen commands properly rather than fifty badly: clone, status, diff --name-only, add, commit, stash, fetch, pull, push origin HEAD, branch --all, remote -v and log. Never work on your fork's main branch, and use --force-with-lease, never plain --force, on your own branches.