todo.academy Try a free chapter

True zero to Git professional

Version Control Skills with Git

Learn Git as a state system, not a memorized command list.

Build reliable Git judgment from working tree to shared history: inspect state, stage and commit intentionally, branch, merge, recover, and collaborate safely.

No credit card for the free chapter. Preview what the chapter covers.

By the end

Observable skills you will practice.

  • Explain working tree, index, HEAD, commits, branch names, remotes, and shared history
  • Create small commits from deliberate staged changes
  • Read status, diff, staged diff, log, show, and remote evidence before acting
  • Branch, merge, resolve conflicts, undo ordinary mistakes, and collaborate safely
  • Recognize when an incident needs an advanced recovery procedure or escalation

Syllabus

24 chapters from the published course structure.

The focused path contains 65 required lessons. The advanced library remains available when your role needs more depth.

Focused path chapters14 chapters contain the required 65-lesson path.
Chapter 00Free

Free Git first contact: file to history

Learn what Git is, read state, change one file, inspect the diff, stage with intent, commit, and prove history.

11 focused lessons
Chapter 01Full course

Repository anatomy and object model

Inspect the working tree, `.git`, HEAD, refs, index entries, object types, commit content, local config, and bare checkout shape.

3 focused lessons + 9 advanced lessons
Chapter 02Full course

Status and diff literacy

Read mixed repository state with long, short, and porcelain status, then separate unstaged diffs, staged diffs, word diffs, stat summaries, and new-file review.

3 focused lessons + 8 advanced lessons
Chapter 03Full course

Staging craft and commit scope

Stage deliberately with pathspecs, dry runs, update and all modes, patch staging, unstaging, restore, dry-run commit checks, scoped messages, and a commit-scope gate.

3 focused lessons + 8 advanced lessons
Chapter 04Full course

Branches and safe context switching

Read branch names as refs, create branches, switch safely, use previous-branch movement, commit on feature branches, inspect branch graphs, compare merged and unmerged branches, understand detached HEAD, and clean up safely.

5 focused lessons + 6 advanced lessons
Chapter 05Full course

Reading history like evidence

Read full and compact logs, decorated graphs, show output, stat summaries, parent diffs, caret and tilde revision names, two-dot and three-dot ranges, path-limited history, and a history evidence gate.

3 focused lessons + 9 advanced lessons
Chapter 06Full course

Merge models and integration decisions

Use clean state checks, merge-base evidence, fast-forward-only merges, ff-only refusals, true merge commits, no-ff policy, no-commit inspection, abort, stat output, parent proof, and a merge-model gate.

4 focused lessons + 8 advanced lessons
Chapter 07Full course

Conflict resolution from evidence

Create a stopped merge, read `UU` status, inspect conflict markers, index stages, base, ours, and theirs, resolve with ours, theirs, or a combined file, continue or abort, and prove the final merge parents.

6 focused lessons + 7 advanced lessons
Chapter 08Full course

Safe undo with restore, reset, revert, and stash

Choose undo tools from state evidence: discard working-tree edits, unstage paths, restore one old file, reset private local history, avoid hard reset panic, revert shared-style mistakes, stash interrupted work, inspect stash entries, and recover on a branch.

5 focused lessons + 9 advanced lessons
Chapter 09Full course

Cleanup and interrupted-work hygiene

Classify cleanup state, preview untracked deletion, preserve ignored boundaries, debug ignore rules, stage tracked deletion, stop tracking local files, rename tracked paths, review the cleanup diff, commit it, and prove history.

6 focused lessons + 6 advanced lessons
Chapter 10Full course

Remote collaboration safety

Read remotes as contracts, inspect remote-tracking refs, fetch before deciding, read FETCH_HEAD, compare incoming commits, use fast-forward-only pull, verify upstreams, publish branches with `-u`, respect push rejections, and use force-with-lease for intentional rewrites.

9 focused lessons + 5 advanced lessons
Chapter 11Full course

Review-ready collaboration flow

Prepare a human-friendly review branch: prove clean state, find the merge base, read commit series, measure diff scope, inspect patches, export a patch series, compare review rounds, generate request text, commit feedback, respect protected main, and complete a review handoff gate.

5 focused lessons + 7 advanced lessons
Chapter 12Full course

Reflog and lost-work recovery

Recover from destructive local mistakes: read the recovery brief, inspect reflog movement, prove the damaged branch tip, create a recovery branch from HEAD@{1}, find unreachable detached work with fsck, inspect it, cherry-pick it onto the recovered branch, verify clean state, and complete a recovery packet.

1 focused lesson + 11 advanced lessons
Chapter 13Full course

Incident gauntlet and final capstone

Complete a full Git incident: triage dirty state, stash safely, fetch, merge, resolve conflict, recover lost work, repair a submodule, satisfy hook policy, verify health, and publish with force-with-lease.

1 focused lesson + 16 advanced lessons
Explore 10 advanced library chapters

These chapters provide optional drills and reference depth. They are not required to complete the focused path.

Library 13Full course

Pull requests and review flow

Move a pull request through a professional lifecycle: read base and head state, fetch the PR ref locally, inspect commits and files, interpret review status, read required checks, commit feedback, sync with the base branch, compare review rounds, squash merge, clean up the branch, and prove final history.

10 advanced lessons
Library 14Full course

Rebase for local cleanup

Clean private feature history safely: prove branch ownership, fetch the new base, replay commits onto `origin/main`, recover from stopped rebase conflicts, inspect and edit the interactive todo, reword weak messages, create fixup commits, autosquash them, compare old and new patch series with range-diff, and prove final history.

12 advanced lessons
Library 15Full course

Tags and release markers

Treat releases as evidence: read tag policy, list and inspect tags, prove tag targets, create lightweight scratch tags and annotated release tags, tag a specific commit, sort versions, push one tag safely, delete scratch tags locally and remotely, and audit final refs.

12 advanced lessons
Library 16Full course

Ignore, attributes, and line endings

Keep repository hygiene explicit: read shared ignore policy, trace root and nested ignore rules, prove tracked-file limits, diagnose global excludes, override ignored adds only with evidence, inspect attributes, verify line-ending policy, and prove binary handling.

12 advanced lessons
Library 17Full course

Blame, pickaxe, and investigation

Investigate incidents from evidence: search current code, read line ownership, ignore whitespace noise, follow renames, use pickaxe string and regex search, inspect suspect patches, find deleted-path evidence, expand changeset context, trace function history, and complete a root-cause packet.

13 advanced lessons
Library 18Full course

Bisect and regression isolation

Find first-bad commits from reproducible evidence: read the regression brief, scope history, mark good and bad endpoints, test each checkout, skip untestable commits, preserve the bisect log, reset safely, automate with bisect run, and complete a regression packet.

13 advanced lessons
Library 20Full course

Worktrees and parallel work

Use linked worktrees for parallel tasks: read the incident, list existing worktrees, add a hotfix branch in a separate path, verify it, respect branch checkout guards, read porcelain output, create and lock a detached sandbox, remove clean worktrees, dry-run prune stale metadata, prune safely, and complete a final worktree packet.

12 advanced lessons
Library 21Full course

Submodules and nested history

Read `.gitmodules`, inspect uninitialized submodules, initialize and update recursively, inspect nested repository state, move a submodule to a new commit, review submodule commit ranges, stage the gitlink pointer, commit the parent update, and prove clean state.

12 advanced lessons
Library 22Full course

Hooks, aliases, and workflow automation

Audit config origins, create a safe local alias, prove alias expansion, configure a commit template, point Git at visible hook scripts, make hooks executable, observe pre-commit and commit-msg refusals, fix the cause, commit correctly, and prove clean status.

10 advanced lessons
Library 23Full course

Maintenance, integrity, and large repo hygiene

Measure loose objects and packs, check object connectivity, inspect unreachable objects, preview prune safely, run gc and maintenance tasks, measure again, choose shallow or partial clone boundaries, set shared LFS policy, and prove clean status.

11 advanced lessons

Full access

Choose access for Version Control Skills with Git

Every available offer is shown with its exact CAD price and billing model. Checkout opens only after you choose an offer and enter the receipt email.

Available access options

The selected offer and exact total remain visible before payment.

Already purchased? Restore access

Payments are processed by Lemon Squeezy for Phoenix Soft Inc. Paid access can be restored after secure sign-in.

Questions

Know what to expect before you start.

What can I try for free?

Free Git first contact: file to history is free and contains 11 lessons. No credit card is requested before the free workspace opens.

What experience do I need?

No Git experience is required. Basic familiarity with files and folders is helpful.

What does the focused path include?

65 required lessons, with 11 free and 54 included in paid access.

Is there material beyond the focused path?

Yes. The course also includes 226 advanced practice and reference resources. They are available when you need more depth, but they do not lengthen the required path.

Which paid options are available?

Git Founder Pass: CA$59 one-time. Academy Founder Annual: CA$139 per year. Founder Vault: CA$279 one-time.

How is paid access billed?

Git Founder Pass: No recurring charge. Access remains available unless the purchase is refunded or reversed. Academy Founder Annual: Access continues while the annual subscription remains active. Founder Vault: No recurring charge. Coverage includes courses launched during the first 24 months.

How long does it take?

The published estimate is 8 to 12 active hours for the Core Path. Your pace will depend on how much you repeat the practice.

Do I need to install anything?

No installation is required to start the guided free chapter. Later lessons explain the real tools, files, and operating boundaries relevant to the skill.

What technology is covered?

The syllabus and these stated outcomes are the source of truth: Explain working tree, index, HEAD, commits, branch names, remotes, and shared history; Create small commits from deliberate staged changes; Read status, diff, staged diff, log, show, and remote evidence before acting; Branch, merge, resolve conflicts, undo ordinary mistakes, and collaborate safely; Recognize when an incident needs an advanced recovery procedure or escalation.

Which browsers are supported?

Use a current browser with JavaScript enabled. The free chapter is the quickest compatibility check for your device.

Does the workspace work on mobile?

The reading pages reflow for small screens. Command-heavy practice is more comfortable with a physical keyboard and a larger display.

What happens when I make a mistake?

The practice state is isolated from production systems. Read the resulting evidence, revise the action, and try again.

How do I restore access?

Use the receipt email on the restore-access page. The sign-in link verifies the account before paid entitlements are loaded.