Beginner Route and Git Evidence
Use this route after Module 2's shell and saved-file checks. It organizes the existing 15–22 focused hours, not an additional project. Use a disposable folder outside any existing repository; no hosted account, public pull request, network push or collaborator is required for the local route. A two-clone simulation demonstrates synchronization mechanics, not independent human review.
Setup and progression
- Run
git --version. These instructions use Git 2.28 or newer (switch,restore, andinit -b). If a command is unavailable, resolve that setup issue before proceeding. Use the Unix-style shell route from Module 2; Git itself also has native Windows interfaces, but the fixture'sprintfcommands assume a Unix-style shell. - Read Cluster 1 and complete the guided lab. Predict HEAD/index/working-tree contents before revealing calibration. Reuse its repository for state diagnostics. Track the harmless configuration fixture and checklist prepared in Module 2; never copy the contents of your real secret-bearing configuration.
- Follow the branching lab: an unpublished rebase, a fast-forward, then deliberately divergent edits, abort and resolution. Observe graph structure as well as final content.
- Follow the collaboration lab in a separate empty folder. A local bare repository and two clones provide a complete fetch, inspect, integrate and push exercise. Keep a labeled solo review note with a proposed change and visible revision.
- Complete the recovery drill, targeted mistake clinic and quiz. Use the first five katas as retrieval prompts over existing evidence; repeat only weak steps on fresh fixtures. Extra interactive-rebase cleanup is optional.
Evidence that must be demonstrated
- Correct three-state predictions, staged/unstaged diffs and an intentionally constructed commit.
- Module 2's prepared config/checklist tracked with inspectable history; ignored files distinguished from already-tracked files.
- A local rebase with before/after commit IDs and content checks; a real divergent merge conflict, safe abort, intended resolution and two-parent merge commit.
- Fetch updates the relevant remote-tracking reference while leaving the checked-out branch and file unchanged; integration changes them afterward. Inspect upstream configuration and handle a rejected stale push by fetching and understanding the history.
- A review note explaining purpose, evidence and limits, labeled solo simulation unless another person actually reviewed it.
- A revert that preserves history and restores intended content; stash recovery including explicit untracked-file handling; reflog recovery by inspecting and naming the intended commit rather than blindly resetting to a positional entry.
- Quiz at least 21/23 (90% rounded upward to a whole question), with missed concepts repaired on fresh variants. The quiz has 18 current-module and five review questions. Count one point only for a correct answer and explanation; do not round 20/23 up to a pass.
These conditions apply together. A quiz score cannot replace a missing conflict or recovery demonstration. Self-assessed completion is provisional, not independent review. The existing Launchpad project, checkpoint and exam still apply.
Workload without duplication
Lessons/selective reading: 4–6 hours; state/config guided practice: 2–3; branching/rebase: 2–3; local collaboration: 2–3; recovery: 2–3; quiz, clinic and fresh repair: 3–4. Total 15–22 hours. Reuse transcripts and artifacts in katas and the Launchpad portfolio. Full books, challenge sites, hosted reviews and extra cleanup drills add optional time. These are author estimates, not observed learner timing or deadlines.
Working habits for every lab
Before changing history, inspect git status and confirm the repository root with git rev-parse --show-toplevel. Start branch/rebase/recovery phases clean. Save predictions in private notes outside the fixture so note-taking does not alter the status you are studying. Git's pager may show (END); press q to return. Commit authorship settings in the fixtures are local, fictional and do not authenticate a hosted account. A clean working tree is not a backup of untracked/ignored files.
Review the command output and exit status, not just stderr: Git can put useful conflict information on stdout. If something differs from the predicted state, stop at that step and inspect it. Do not paste later mutation commands over an unresolved operation.