Adds all 6 ROOT 03 modules (why version control exists, the Git mental model, everyday Git, branching & merging, remote repositories, engineering Git workflow) — 31 activities. Uses only real LOCAL Git repositories throughout — no Gitea account, no network access, and no RootNode-canonical-repo credential is ever needed or exposed in a student Lab (docs/ROOT_FOUNDATIONS_LAB_STRATEGY.md §4). Modules 1, 2, and 6 are conceptual bookends with no lab, matching the flexible readiness standard already used in ROOT 01/02. Adds 3 new hands-on Git scenarios plus 2 MCQs: git-everyday-basics (init/add/commit, validated by inspecting real `git log`/`git show` state, not just command output strings — Step 6's explicit requirement), git-branching-and-merge (a REAL merge conflict caused on purpose by two branches editing the same line, resolved by the student, validated by confirming the conflict markers are gone and a real two-parent merge commit exists), and git-remote-clone-push (a real local bare repository standing in for a remote — clone/commit/push validated by inspecting the REMOTE side directly, not just the student's own clone). All tested end-to-end via the real scenario-validation API, including negative tests. Wires rootnode-git-fundamentals-assessment (2 required + 3 random-draw scenarios) using the existing Phase 3B assessment engine. Co-Authored-By: Claude Sonnet 5 <[email protected]>
1.3 KiB
Knowledge Check: Remote Repositories
1. What's the difference between git fetch and git pull?
Answer: git fetch downloads the remote's new commits without touching your working files or
branches. git pull does that AND immediately merges them into your current branch — it's
fetch + merge combined.
2. Why can git pull produce a merge conflict?
Answer: Because it performs a real merge under the hood — if your local branch and the remote's branch both changed the same lines differently, the same conflict situation from Module 4 can occur.
3. Is origin a required, special name Git enforces?
Answer: No — it's just the conventional default name Git assigns to the remote you cloned
from. You could name a remote something else; origin is a widely recognized convention, not a
technical requirement.
4. Does this course require a GitHub or Gitea account to learn remotes?
Answer: No — this course uses a disposable local bare repository to safely simulate a real remote, teaching the same concepts (clone/fetch/pull/push/origin) without any account or network access.
Instructor Notes
Facilitation: Question 2 is worth emphasizing — many students assume pull is risk-free
until they hit their first real pull-conflict.
Approximate timing: 5 minutes.