// learn

Learn Git & GitHub,
at your own pace.

Everything we teach in our sessions, in one place — plus the best free material on the internet. Start at the top; skip what you already know.

From our sessions

Missed one, or want to go over it again? The slides, recordings and code from every session land here.

Nothing here yet: the first session's slides and recording appear after it happens. First up: Learn GitHub & Make Your First Contribution, 12 Oct 2026.

Free resources worth your time

Git cheat sheet

The commands you'll use every day. Search, then press the copy button.

30 commands shown

Start

Set yourself up, begin a project.

  • git config --global user.name "Your Name"

    Tell Git who you are (once per computer)

  • git config --global user.email "you@example.com"

    Use the same email as your GitHub account

  • git init

    Turn the current folder into a Git repository

  • git clone <url>

    Download a repository from GitHub

Save

Record your work as commits.

  • git status

    See what changed and what's staged

  • git add <file>

    Stage a file for the next commit

  • git add .

    Stage everything that changed

  • git commit -m "message"

    Save the staged changes with a message

  • git log --oneline

    Show the history, one line per commit

  • git diff

    See exactly what you changed

Branch

Try ideas without breaking what works.

  • git branch

    List your branches

  • git switch -c <name>

    Create a branch and move onto it

  • git switch <name>

    Move to another branch

  • git merge <name>

    Bring another branch's work into this one

  • git branch -d <name>

    Delete a branch you've finished with

Share

Send your work to GitHub, get others' work.

  • git remote -v

    Show where your repository is online

  • git push origin <branch>

    Upload your commits

  • git pull

    Download and merge the latest changes

  • git fetch

    Download changes without merging them yet

Undo

Everyone makes mistakes — Git can undo most.

  • git restore <file>

    Throw away changes to a file (not staged)

  • git restore --staged <file>

    Unstage a file, keep your changes

  • git commit --amend

    Fix the last commit's message or contents

  • git revert <commit>

    Undo a commit by adding a new one (safe for shared work)

  • git stash

    Park unfinished work, get a clean folder

  • git stash pop

    Bring the parked work back

Collaborate

Working with other people's projects.

  • git remote add upstream <url>

    Link the original project you forked

  • git fetch upstream

    Get the original project's latest changes

  • git rebase upstream/main

    Replay your work on top of the latest original

  • gh pr create

    Open a pull request (GitHub CLI)

  • gh pr checkout <number>

    Try out someone else's pull request

Ready to try it for real? Our workshops start from zero, and the contribute page shows beginner-friendly issues you can fix today.

Join the club