Skip to content

Free resource library

Every lesson in this book has a "Practise more with free resources" section. This page is the full catalogue those exercises come from. Every link was opened and returned a working page on 11 October 2026; licences were read from each project's own licence file where one exists.

Link, don't copy

This book is CC BY 4.0. Many excellent resources are NonCommercial (NC) or ShareAlike (SA). You may use them freely in class and send students to them, but their text must not be pasted into this book or into printed copies of it. The "Copy into our book?" column says which ones are safe to adapt with credit.

How to read the tables

  • Grades — where the resource fits best in this book.
  • Tier — the delivery tiers from the Teacher hub: 0 no computer · 1 offline computers · 2 school LAN · 3 internet.
  • Account — whether a learner must sign up. Learners under 13 (most of Grade 8) must never need an account.

1. Visual sandboxes (see the commit graph move)

Resource Good for Grades Tier Account Licence · Copy into our book?
Learn Git Branching (source) Commits, branches, merge, rebase, remotes as an animated graph; levels with goals; a free "sandbox" 8–12 1 (self-hosted, see offline/usb-kit/) or 3 none MIT · yes
Visualizing Git (source) Type real commands, watch the graph; good for teacher demos on a projector 9–12 3 (or saved copy) none MIT · yes
Oh My Git! (source) Card game on top of real Git repositories; Windows/Linux/macOS download 9–10 1 after download none Blue Oak Model 1.0.0 (permissive) · yes for code; check art

Learn Git Branching level map

Levels are opened with ?level=<id> (online: https://learngitbranching.js.org/?locale=en_US&level=intro1). The same ids work in the self-hosted copy.

Level id Name (Main / Remote tab) Used in
intro1 Introduction to Git Commits G8 M2, G8 M3
intro2 Branching in Git G9 M3
intro3 Merging in Git G9 M4
intro4 Rebase Introduction G11 M5
rampup1 – rampup4 Detach yo' HEAD · Relative Refs (^) · Relative Refs #2 (~) · Reversing Changes in Git G9 M3 (rampup1), G11 M5 (rampup4), G12 M1
move1, move2 Cherry-pick Intro · Interactive Rebase Intro G11 M5, G12 M2
mixed4, mixed5 Git Tags · Git Describe G10 M6, G12 M4
remote1 – remote8 Clone Intro · Remote Branches · Git Fetchin' · Git Pullin' · Faking Teamwork · Git Pushin' · Diverged History · Locked Main G9 M5, G10 M2–M3

Type levels inside the app to see the full list, and sandbox to leave a level and experiment freely.

2. Structured free courses

Resource Good for Grades Tier Account Licence · Copy?
Software Carpentry: Version Control with Git 13 short episodes with exercises and solutions; written for adults but very clear 9–12, teachers 1 (download the site) / 3 none (GitHub episode needs one) CC BY 4.0 · yes, with credit
Software Carpentry: The Unix Shell Terminal basics (cd, ls, files, pipes, scripts) 9 1 / 3 none CC BY 4.0 · yes, with credit
GitHub Skills Self-checking courses that run inside a GitHub repo: Introduction to GitHub, Communicate using Markdown, GitHub Pages, Review pull requests, Resolve merge conflicts, Hello GitHub Actions, Release-based workflow, Secure your repository's supply chain 9–12 (13+) 3 GitHub, 13+ MIT · yes for course text
MIT "Missing Semester": Version Control and Shell Tools University-level lecture + exercises; explains the data model (blobs, trees, commits) beautifully 11–12, teachers 3 (videos) none CC BY-NC-SA 4.0 · link only
The Odin Project: Git Basics Self-paced web-developer track with a Git lesson and project 10–12 3 optional open curriculum · link only
Atlassian Git tutorials and workflow comparison Clear diagrams of workflows (feature branch, Gitflow, forking) 10–12 3 none Atlassian site terms · link only
Git Immersion Step-by-step labs, one command at a time 9–10 3 none free online · link only
W3Schools Git tutorial Short pages with "try it" exercises; good for revision 9–10 3 none (optional) site terms · link only
CS50 Web, Lecture 1: Git Free university lecture video + notes 11–12 3 none Harvard CS50 terms · link only

Software Carpentry episode map

Episode Topic Used in
1 Automated Version Control why version control G8 M1
2 Setting Up Git git config G8 M3, G9 M2
3 Creating a Repository git init G8 M3, G9 M2
4 Tracking Changes add, commit, staging area G8 M3, G9 M2
5 Exploring History log, diff, restore G8 M4, G8 M5
6 Ignoring Things .gitignore G9 M6
7 Remotes in GitHub push, pull G9 M5
8 Collaborating two people, one repo G9 M8, G10 M2
9 Conflicts merge conflicts G9 M4, G10 M5
10 Open Science research with Git G11 M8
11 Licensing choosing a licence G11 M1
12 Citation CITATION.cff G11 M8, G12 M4
13 Hosting where to host G9 M5, G12 M9

3. Reference books and documentation

Resource Good for Grades Tier Licence · Copy?
Pro Git, 2nd ed. (Chacon & Straub) The standard free Git book; downloadable as PDF/EPUB for offline labs 9–12, teachers 1 (PDF on USB) / 3 CC BY-NC-SA 3.0 · link only
Git reference manual and cheat sheet Exact meaning of every command and option (also offline: git help <command>) 9–12 1 / 3 GPL-2.0 docs · link only
Git from the Bottom Up (Wiegley) Internals explained from blobs upward 12 3 CC BY 4.0 · yes, with credit
Think Like (a) Git Graph thinking: "Git is a graph, branches are labels" 11–12 3 free online · link only
GitHub Docs Accounts, pull requests, Actions, Pages 9–12 3 CC BY 4.0 (licence) · yes, with credit
GitHub Desktop docs GUI path for Grade 8–9 8–9 1 / 3 CC BY 4.0 · yes
VS Code: Source Control Commit, diff and branch from inside the editor 8–10 1 / 3 CC BY 3.0 US · yes, with credit
Codeberg docs, Forgejo docs, GitLab Git docs Same ideas on non-GitHub hosts (Forgejo = our school-LAN server) 9–12 2 / 3 various open licences · link
Markdown Guide and CommonMark 10-minute tutorial Writing READMEs and documentation 9–10 3 open · link

4. Rescue guides ("I broke it!")

Resource Good for Grades Licence · Copy?
Oh Shit, Git!? and its polite twin Dangit, Git!? Short fixes for the most common mistakes. Use the "Dangit" version with school students. 10–12 no stated licence · link only
Git Flight Rules Huge "what to do when…" manual 11–12, teachers CC BY-SA 4.0 · link only (SA)
Julia Evans: confusing Git terminology Why words like HEAD, origin and reset confuse people 11–12, teachers blog · link only
explainshell Paste a shell command, see what every part means 9–12 open source · link

Our own rescue guide is Appendix B: Troubleshooting.

5. Open-source contribution and project hygiene

Resource Good for Grades Account Licence · Copy?
First Contributions (repo) A safe practice repo for the first fork → PR, in many languages (including Nepali) 11 (13+) GitHub MIT · yes
Open Source Guides — esp. How to Contribute Etiquette, finding issues, being a good contributor 11–12 none CC BY 4.0 · yes, with credit
choosealicense.com Picking a licence in plain words 11 none MIT · yes
SPDX licence list, REUSE, Creative Commons BY 4.0 Exact licence identifiers; marking every file's licence 11–12 none open · link
Semantic Versioning MAJOR.MINOR.PATCH rules 10, 12 none CC BY 3.0 · yes, with credit
Keep a Changelog Changelog format 10–12 none MIT · yes
Conventional Commits feat:, fix: message convention 11–12 none MIT (site repo) · yes
Citation File Format CITATION.cff so others can cite your work 11–12 none open · link
github/gitignore Ready-made .gitignore templates for Python, Node, Java, LaTeX… 9–12 none CC0 · yes
Hacktoberfest October contribution event (check the current year's age rules) 11–12 yes event · link

6. Automation, quality and security

Resource Good for Grades Tier Licence
GitHub Actions docs CI workflows 10–12 3 CC BY 4.0
Forgejo Actions CI on a school LAN server 10–12 2 open
pre-commit Run checks before every commit 12 1 after install MIT
gitleaks Find passwords and keys committed by mistake 12 1 after install MIT
OpenSSF Scorecard Security health score of an open-source project 12 3 Apache-2.0
Git LFS Large binary files (images, video, models) 12, any project 1 / 3 MIT

7. Research, data and writing

Resource Good for Grades Licence · Copy?
The Turing Way: Version Control Version control for research and data, with clear illustrations 11–12, after school CC BY 4.0 · yes, with credit
Blischak, Davenport & Wilson (2016), A Quick Introduction to Version Control with Git and GitHub, PLOS Comp. Biol. Short paper; ideal first reading for science teachers teachers, 12 CC BY 4.0 · yes, with credit
Perez-Riverol et al. (2016), Ten Simple Rules for Taking Advantage of Git and GitHub Practical rules for projects 12, after school CC BY 4.0 · yes, with credit
Happy Git and GitHub for the useR (Bryan) Git for data analysis (R users, but most chapters are general) after school CC BY-NC 4.0 · link only
Our Coding Club: Git for reproducible research Step-by-step tutorial for scientists 11–12 see site · link only
DVC: Get started Versioning large datasets and ML models next to Git after school Apache-2.0 docs
Overleaf Git integration Version-controlled LaTeX papers and theses after school site terms
nbdime Readable diffs of Jupyter notebooks 11–12 BSD
Open Data Nepal, OKN localboundaries Nepali open data for the data thread (check each dataset's licence) 9–12 per dataset

8. For teachers: pedagogy

Resource Good for Licence
Wilson, Teaching Tech Together How people learn programming; lesson design; live coding CC BY-NC 4.0 · link only
CS Unplugged Computing without computers; ideas for Tier 0 open licence (check per activity) · link only
Parsons problem tool Make drag-and-drop Parsons puzzles open source
Wizard Zines comics Hand-drawn one-page explanations (several on Git) — good poster inspiration free to view · link only
GitHub Education and GitHub Classroom Free teacher accounts, assignment repos with autograding service terms

9. Offline packing list (Tier 1 USB kit)

Put these on the school USB stick alongside the kit in offline/usb-kit/:

  1. Git for Windows (portable) and VS Code (portable).
  2. The self-hosted Learn Git Branching build (build-learngitbranching.sh).
  3. Pro Git PDF (download from the book page; NC licence allows sharing for non-commercial school use — do not sell copies).
  4. A saved copy of the Software Carpentry git-novice and shell-novice sites (CC BY 4.0).
  5. Oh My Git! installers for the lab's operating systems.
  6. This book's PDF and the practice-repo .bundle files.

Check before every school year: links change, courses move, and age rules for events and programmes are updated.