Git & GitHub
Make Git's model visible, then use it like a professional team does.
- 4.7 (1,517 ratings)
- 14,300 learners
- Beginner
- 4h 10m total
- Updated September 2026
What you’ll learn
- Explain commits, branches and HEAD as a graph you can draw
- Stage and commit deliberately, and read history with log, diff and show
- Merge, rebase and resolve conflicts without panic
- Push, pull and review code through GitHub pull requests
- Undo mistakes safely with restore, revert, reset and the reflog
- Ship a CI-checked, protected main branch with Actions and rulesets
Who it’s for
Most people learn Git as a list of spells: type these words, hope nothing breaks, delete the folder when it does. This course takes the other route. You learn what a commit, a branch and HEAD actually are, so every command becomes a predictable move on a graph you can draw, and a scary message becomes a situation you can read.
You practise on one real thing: your own portfolio site. It starts as a folder with git init, picks up branches, a merge conflict and a GitHub remote, and finishes as a protected main branch where every change arrives through a pull request that GitHub Actions has checked. Along the way you learn to undo almost anything safely.
- Who it’s for
- Career switchers and junior developers who use Git a little, fear it a lot, and want to work confidently on a team.
- Before you start
- Comfort with a terminal (cd, ls, opening files) and a free GitHub account; no Git experience needed.
Hands-on practice
- Guided exercises: spot the bug, fill the command, order the steps.
Course content
4 sections · 16 lessons · 4h 10m total
- Why Version Control, and How Git Thinks10 min
- Install, Configure, and Make Your First Commit16 min
- The Three Areas: Working Tree, Index, Repository16 min
- Reading History: Commits as a Graph16 min
- Section checkpoint5 questions
- Branches Are Pointers, HEAD Is You15 min
- Merging: Fast-Forward and Merge Commits15 min
- Resolving Merge Conflicts Step by Step17 min
- Rebase vs Merge, and the Golden Rule17 min
- Section checkpoint5 questions
- Remotes: Push, Fetch, Pull and Tracking Branches16 min
- Authenticating with SSH Keys or HTTPS14 min
- Pull Requests and Code Review17 min
- Issues, Projects, Forks and Open Source16 min
- Section checkpoint5 questions
- Undoing Safely: Revert, Reset and the Reflog18 min
- Stash and .gitignore15 min
- Commit Messages, Tags and Releases15 min
- Guarding main: CI with Actions and Rulesets17 min
- Section checkpoint5 questions
Your instructor

Kenji Watanabe
Staff Engineer, Developer Experience · Trellis
- 4.7 instructor rating
- 19,500 learners
- 2 courses
Kenji's job at Trellis is to make other engineers faster: the Git workflow, the CI pipeline, and the test suite that has to finish before lunch. He has untangled more broken rebases than he can count, and once cut a 40-minute test run to six.
What learners say
4.7
1,517 ratings
Marta Kowalska
7 months ago
Seeing commits as a graph changed everything. I rebased my first feature branch without panicking, and recovered a "lost" commit with git reflog.
Karim Nasser
4 months ago
The pull request lessons are underrated: small PRs, clear descriptions, how to answer review comments. My team lead noticed the difference within a week.
Isabel Navarro
2 weeks ago
Clear and modern, using git switch and git restore instead of checkout for everything. I'd add more practice on resolving messy merge conflicts.