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.
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.
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.
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.
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.
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.
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.
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.