Learn Git and GitHub
Learn the version control tool used by nearly every software team. Start with your first commit, then move on to branches, GitHub, pull requests and recovering from mistakes. Every Git command that shows output in this course was run while writing it, so the results you see are real.
Progress is saved in this browser. Accounts are coming later.
- Lessons available
- 34
- In the full course
- 34
- Beginner
Start from zero. No experience needed.
- Intermediate
Combine ideas to solve real problems.
- Advanced
The techniques used in professional work.
Course syllabus
All 34 lessons are available. Start anywhere, or follow the parts in order.
Part 1 · Beginner
Getting Started
What version control is, installing Git, your first repository and commits, reading history, and undoing mistakes.
Part 2 · Beginner
Branching and Merging
Working on separate lines of development, merging them, resolving conflicts, saving work with stash, and marking releases.
Part 3 · Beginner
Working with GitHub
Remote repositories, pushing to GitHub, signing in with SSH or tokens, staying in sync, pull requests and open source.
Part 4 · Intermediate
Team Workflows
Writing useful commits, choosing a branching workflow, and running automatic checks with GitHub Actions.
Part 5 · Advanced
Advanced Git
Rebasing, cleaning up history, moving commits, recovering lost work, finding bugs, and how Git works inside.
Part 6 · Intermediate
Projects
Practise a full team workflow and publish a portfolio site.
Part 7 · Intermediate
Interview Questions
Frequently asked Git and GitHub interview questions with answers.
Keep going with Git and GitHub
Become a Better Programmer
Get new tutorials, coding challenges, and cheat sheets.