- Trainer
- Product managers
- Marketers
Git and GitHub for Product People
Stop feeling lost in engineering conversations. Learn to read a repository, review a pull request and follow a change from branch to release, all in the GitHub web interface, with no terminal.
Keep at hand: Git cheat sheet for product people
Free15 lessons~9 h 19 min of learning

Module 1: Git in plain words
Why teams keep a full history of their project, what a repository and a commit are, and how to read that history on GitHub: messages, diffs and blame.

- 1.1Why teams keep history: version control without fearWhat version control is, Git vs GitHub and how the two differ, and why looking around a repository can't break anything.~28 min
- 1.2Repository and commits: reading a GitHub repo pageWhat a repository in GitHub is, its page from top to bottom, what a single commit tells you, and commit message best practices.~29 min
- 1.3Reading history: messages, diffs and blameHow to open a file's history, read a diff line by line and use blame to trace any line back to its commit, pull request and issue.~27 min
Module examComplete 3 more lessons to unlockModule 2: Branches and merges
Branches as parallel versions of the project, the three ways GitHub merges them (merge commit, squash, rebase) and what a merge conflict is.

- 2.1Git branches: parallel versions of the projectWhat a Git branch is, why work happens on short-lived branches next to main, and how to read branches on GitHub: the branch selector, ahead and behind, stale branches, naming conventions and graphs with several lanes.~34 min
- 2.2Merging on GitHub: merge commit, squash and merge, rebaseWhat merging does, the three options behind GitHub's merge button (merge commit, squash and merge, rebase and merge) and what each leaves in the history, a fast-forward merge in plain words, and how to check whether a change is really in main.~32 min
- 2.3Merge conflicts on GitHub: why they happen and what to doWhat a merge conflict on GitHub is and why two branches can clash on the same line, what "This branch has conflicts that must be resolved" means, how to read conflict markers and resolve a simple conflict in the browser, and why choosing the right text is a product decision.~34 min
Module examComplete 3 more lessons to unlockModule 3: Pull requests
A pull request tab by tab, reviewing one as a PM with comments, suggestions and approvals, and what every GitHub icon and colour means.

- 3.1What is a pull request? Anatomy of a PR pageWhat a pull request is, read top to bottom: base and compare branches, draft and ready, the four tabs, the description and a pull request template, reviewers and labels, linked issues, checks and the merge box.~40 min
- 3.2Approve a pull request as a PM: comments and suggestionsWhat a product person checks in a pull request and what to leave to engineers, how to comment on a line, suggest changes with the exact wording, decide when to approve a pull request or request changes, and write review comments people are glad to get.~42 min
- 3.3Icons, colours and checks: what every GitHub state meansRead pull request status, issues, GitHub checks, reviews, labels and the merge box at a glance: what every icon and colour means, merged vs closed, and how to tell states apart by shape and text, not colour alone.~45 min
Module examComplete 3 more lessons to unlockModule 4: Team workflows
GitHub flow with small branches and fast merges, git flow with develop, release and hotfix branches, and how releases get tags, versions and changelogs.

- 4.1GitHub flow: small branches, fast mergesThe loop most product teams work in: branch from main, pull request, review and checks, merge, deploy. Why small, short-lived branches are safer, what "merged" and "deployed" mean, how feature flags let unfinished work ship hidden, and how to read a feature's progress from the pull request list.~41 min
- 4.2Git flow: develop, release and hotfix branchesThe release-oriented branching model: long-lived main and develop, feature branches, a release branch for each version, hotfix branches, and tags on main. When it fits (app store releases, several supported versions), why many web teams moved to GitHub flow or trunk-based development, and how to recognise each model from a branch list.~39 min
- 4.3GitHub releases and versions: tags, SemVer, changelogsWhat a git tag is, how to read a version number like v1.4.1 (SemVer in plain words), how GitHub releases and generated release notes work, how release notes differ from a changelog, how to check whether a fix is in a version, and why merged, released and live for every user can be three different moments.~42 min
Module examComplete 3 more lessons to unlockModule 5: GitHub for product work
Issues, labels and milestones, project boards that track a feature to release, and your first change in the browser, plus how to undo it.

- 5.1GitHub issues: bug reports, templates, labels and milestonesTurn a one-line request into GitHub issues the team can act on: how to write a bug report with steps to reproduce, feature requests with acceptance criteria, a GitHub issue template, labels, assignees, sub-issues and a milestone with a due date. Plus how closing keywords and mentions link pull requests to issues, and what each issue state tells a PM.~42 min
- 5.2GitHub Projects: project boards from issue to releaseGitHub project management for product people: board, table and roadmap layouts in GitHub Projects, the status field and custom fields, built-in workflows that move cards, and how to follow a feature from issue to pull request, merge, release and feature flag. Why "Done" on a board doesn't always mean customers can use it, and what to show the CEO.~43 min
- 5.3Your first change in the browser, and how to revert itMake a small change entirely in the GitHub web UI: find the file, edit it in the GitHub web editor, commit to a new branch because main is protected, open a pull request, pass checks and review, merge and deploy. Then undo a merged change with GitHub's Revert button, learn when to revert and when to fix forward, and what a PM should and shouldn't edit.~41 min
Module examComplete 3 more lessons to unlock