This workshop will take you from "Hello Git" to collaborating with others on GitHub using branches and Pull Requests.
It's going to be a lot of fun!
- Git installed on your machine
- A GitHub account
- A text editor — we recommend VS Code (exercises include VS Code-specific guidance)
- A terminal (macOS Terminal, Windows PowerShell/Git Bash, Linux shell)
Note: Every exercise can be completed using either the terminal or VS Code's built-in Git integration. Each task shows the terminal command first, with a collapsible "VS Code alternative" section where applicable.
This tutorial is designed to be self-paced to make the most of your time.
The exercises build on each other, so work through them in order. Each exercise has:
- Learning Goals — what you'll know after completing it
- Introduction — the minimum context you need
- Exercise — an overview for experienced users, with collapsible step-by-step instructions for those who want more guidance
Don't be afraid to experiment — that's how you learn!
| # | Exercise | Description |
|---|---|---|
| 00 | Git Basics | Local Git fundamentals: init, add, commit, log |
| 01 | Working with GitHub | Create a repo, clone, push, pull, and fetch |
| 02 | Branches and Pull Requests | Create branches, open PRs, and merge |
| 03 | Multiplayer Git | Collaborate with teammates in a shared repo |
Head over to the first exercise to begin.
For a quick reference of the most common Git and GitHub commands, see CHEATSHEET.md.
Future exercises we're planning:
- GitHub Issues & Projects — Creating issues, labels, milestones, linking PRs to issues
- Code Review — Reviewing PRs, suggesting changes, approving, requesting changes
- GitHub Actions Intro — CI basics, running tests on push, workflow YAML syntax
- GitHub Pages — Deploying a static site from a repo
- Releases & Tags — Git tags, GitHub releases, semantic versioning
- Contributing to Open Source — Forks, upstream remotes, the fork-and-PR workflow