Syllabus & Study Plan
What the Git course covers, what you'll be able to do by the end, and a suggested six-week schedule with a hands-on checkpoint each week. Install Git first (lesson 2) — typing the commands yourself is the fastest way to learn.
Who this course is for
Beginners who have never used version control, students and self-taught developers who want to work the way professional teams do, and people who already use a few Git commands but get nervous when something goes wrong.
Learning outcomes
By the end of the course you will be able to:
- Install and configure Git, and use the terminal comfortably for everyday Git work.
- Explain the working tree, staging area and repository, and how commits, branches and
HEADrelate. - Track a project with focused commits and clear messages, and keep unwanted files out with
.gitignore. - Inspect history and changes with
log,diff,show,grepandblame. - Undo mistakes at every stage — restore, amend, reset, revert — and recover lost work with the reflog.
- Work with branches: merge, resolve conflicts, rebase, clean up history interactively, cherry-pick and stash.
- Publish and collaborate through GitHub: authenticate, push, clone, fetch and pull, and manage remote branches.
- Take part in a pull-request workflow, contribute through forks, and choose a team branching strategy.
- Tag releases with semantic versions, and find regressions with
git bisect. - Use advanced features — hooks, worktrees, submodules, LFS, signed commits and CI — when a project needs them.
Course outline
| Part | Lessons | Focus |
|---|---|---|
| 1. Getting Started | 01–06 | Installation, configuration, terminal, the Git model |
| 2. The Everyday Workflow | 07–15 | Status, staging, commits, history, diffs, ignoring files |
| 3. Undoing Things | 16–21 | restore, amend, reset, revert, reflog, clean |
| 4. Branching & Merging | 22–29 | Branches, merges, conflicts, rebase, cherry-pick, stash |
| 5. Remotes & Collaboration | 30–38 | GitHub, push, clone, pull, pull requests, forks, workflows |
| 6. History & Releases | 39–41 | Tags, searching history, bisect |
| 7. Advanced Git | 42–49 | Internals, config, hooks, worktrees, submodules, LFS, signing, CI |
| 8. Wrapping Up | 50–52 | Troubleshooting, best practices, team project |
Six-week study plan
Plan on three to four hours a week. Use a real project of your own — notes, a website, coursework — alongside the examples.
Week 1 — Your first repository
Checkpoint: put one of your own folders under version control with at least five well-described commits, each containing one logical change.
Week 2 — Reading history and undoing mistakes
Checkpoint: add a .gitignore, then deliberately make and fix one mistake with each of restore, --amend, reset and revert. Finish by recovering a "lost" commit from the reflog.
Week 3 — Branching and merging
Checkpoint: develop two features on separate branches, create and resolve a merge conflict, rebase one branch, and tidy it with an interactive rebase before merging.
Week 4 — Working with GitHub
Checkpoint: publish your project on GitHub, open a pull request from a feature branch, merge it, and sync your local main. Then fork a public practice repository and open a pull request to it from your fork.
Week 5 — Releases and advanced tools
Checkpoint: tag a v1.0.0 release, add a pre-commit hook and a CI workflow to your project, and use git bisect run to find a bug you plant on purpose.
Week 6 — Putting it all together
Final project: work through the team project with a friend (or two folders playing two people), then take the quiz and aim for 25 out of 30 or better.
Faster tracks
- Need the essentials quickly? Lessons 01–03, 05–09, 11, 14, 16, 22–25, 30, 32–34 and 36 cover what most jobs need day to day.
- Already use add/commit/push? Start at lesson 06 for the mental model, then focus on Parts 3, 4 and 5 — that's where most confusion comes from.
Practice resources
- Cheat Sheet — the main commands on one page.
- Exercises — 37 fill-in-the-blank tasks and five hands-on challenges.
- Quiz — 30 questions with explanations.