Free through lesson 3

Git & GitHub for Beginners

From the idea of version control through commits, branches, merges and resolving conflicts, all the way to pull requests, issues, Actions and Pages on GitHub. Thirty lessons that take you to the point where you can join a team's workflow. Every piece of command output was produced by actually running Git 2.55.0.

Curriculum

The 30 lessons are grouped into six chapters. Working through them in order is the best way, but you are welcome to dip into whatever interests you. Note: Git cannot run inside the browser, so use the Git you install in lesson 2 in your own terminal as you follow along.

Chapter 1 — Git basics (lessons 1–5)

You get clear on what version control solves, then go from installation to your first commit. The three areas — working tree, staging area and repository — underpin everything that follows.

Chapter 2 — Reading and undoing history (lessons 6–10)

You learn to read diffs and history, and to exclude files that should never be recorded. The second half is about undoing: restore, reset and revert, organised by which area each one moves back.

Chapter 3 — Branches (lessons 11–16)

You branch, merge back, and resolve a conflict with your own hands. You also cover when to rebase and when to merge, setting work aside with stash, and versioning with tags.

Chapter 4 — Starting with GitHub (lessons 17–20)

You create a repository, authenticate with an SSH key, and push your local history. Making the difference between clone, fetch and pull explicit gives you a real grip on working with a remote.

Chapter 5 — Pull requests and collaboration (lessons 21–24)

You open a PR, get it reviewed, and link it to an issue so the work can be followed. Finally, a README and a licence turn the repository into something other people can use.

Chapter 6 — Team workflow and real practice (lessons 25–30)

You settle on a branching strategy, protect main, contribute to open source with a fork, and deal with rejected pushes. You run automated tests with Actions, publish with Pages, and close with a round-up of troubleshooting.

Once you have finished all 30 lessons, look at Linux — the server your code lives on — or build with a team in Django. Membership unlocks every course.