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]>
37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
# Knowledge Check: Branching and Merging
|
|
|
|
---
|
|
|
|
**1. What is a branch, really?**
|
|
|
|
*Answer:* A movable pointer to a specific commit — not a copy of the whole project, just a
|
|
reference letting you develop independently from other branches.
|
|
|
|
---
|
|
|
|
**2. Why does a merge conflict happen?**
|
|
|
|
*Answer:* Both branches changed the SAME lines of the SAME file differently, and Git can't
|
|
safely guess which version you actually want — so it stops and asks you to decide.
|
|
|
|
---
|
|
|
|
**3. Is a merge conflict a sign something went wrong?**
|
|
|
|
*Answer:* No — it's Git correctly refusing to silently guess at a decision only a human should
|
|
make. It's a normal, expected part of collaborative work.
|
|
|
|
---
|
|
|
|
**4. After resolving a conflict by editing the file, what two steps complete the merge?**
|
|
|
|
*Answer:* Stage the resolved file (`git add`) and commit (`git commit`) — exactly like
|
|
completing any other commit, once the conflict markers are gone.
|
|
|
|
## Instructor Notes
|
|
|
|
**Facilitation:** Question 3 is worth stating explicitly and repeating — reframing conflicts
|
|
as normal, not scary, meaningfully changes how confidently students approach this module's Lab.
|
|
|
|
**Approximate timing:** 5 minutes.
|