Branches and merging
Try ideas on a branch, merge them back, and resolve conflicts.
Planned. This module is part of the plan and is not written yet.
Why it matters
Two learners improving the same school website can each work on a branch, so one person's half-finished work never breaks the version everyone uses.
Draft outline · in review- For
- Level 13–14 · A level / JUPEB / foundation year to 100 Level
- Inside
- 5 lessons and a test · about 75 minutes
- Topic
- Git and version control · core, 2 of 4
Inside the module.
5 lessons in order, about 75 minutes in all, then a short test. Learners go at their own pace; the minutes are a guide, not a timetable.
Draft outline · in review
Lesson 1: What a branch is
A branch is a movable name for a line of commits.
Explain15 min, from minute 0
Lesson 2: Switch and merge
git switch -c new-menu, commit, then git switch main and git merge new-menu.
Worked example15 min, from minute 15
Lesson 3: Feature branches
Build two features on two branches and merge both.
Practice15 min, from minute 30
Lesson 4: Reading a conflict
Why a conflict happens, and what the <<<<<<<, ======= and >>>>>>> markers mean.
Worked example15 min, from minute 45
Lesson 5: Resolve and commit
Fix conflicts by hand, then git add and git commit to finish the merge.
Practice15 min, from minute 60
End-of-module test
Create a branch, merge it back and resolve a simple merge conflict.
Mastered at 85% or more. Retake it until you pass; nothing is lost, and each try gives feedback.
Already know it? A Challenge Test (planned) clears the whole module: 90% overall, no objective below 75%.
Last stageafter about 75 min
Practicalities
Draft outline · in reviewBuilt to run offline
Planned to run on the Lantern's own computer, with no internet needed.
Languages
Planned first in English; every module aims to reach all of the Lantern's languages.
Try a question.
One question from the module, as a learner would meet it. Have a go, then open the worked solution a step at a time.
Draft outline · in review
After git merge feature, Git reports a conflict in index.html: <<<<<<< HEAD <h1>Welcome</h1> ======= <h1>Welcome to the Lantern</h1> >>>>>>> feature You want the feature version. What do you do?
Work it out on paper first, then show the answer and mark it yourself.
Particulars
Where it sits
What a learner can do after it
- Create a branch and merge it back.
- Resolve a simple merge conflict.
Needs first
Level
Level 13–14 · A level / JUPEB / foundation year to 100 Level
Level mappings are approximate. A qualified teacher or lecturer in each country must check them before they appear in the app. Levels 13–18 describe the content, not the learner: “Level 15” means material usually taught in a second-year university course, whoever chooses to learn it.
Difficulty for its level
2 of 4 · Core
Time
About 75 minutes
Alignments
- Aligned to CS2023partial · in reviewCS2023 Software Engineering: version control (descriptive ref)
Alignment in review until a qualified teacher or lecturer checks it. No exam body, university or vendor endorses us; learners still sit the real exam. University-level modules give knowledge, not university credit.
Challenge Test
Planned: a Challenge Test to prove you know it and skip it. Pass at 90% overall, with no objective below 75%.
University courses it previews
Software Engineering, Computer Science
On these pathways
The route here.
Everything this module builds on, drawn as a route from its foundations. Solid lanes must be mastered first, or cleared by a Challenge Test; dashed lanes are suggestions that never lock anything.
- CO-BLK-SEQ-01 Instructions in order, Level 1–4, Coding. Planned.
- CO-BLK-SEQ-01Instructions in orderCoding · Primary 1 to Primary 4 (Level 1–4) · Planned
- CO-BLK-LOP-01 Repeat blocks, Level 3–5, Coding. Sample lesson in the demo.
- CO-BLK-LOP-01Repeat blocksCoding · Primary 3 to Primary 5 (Level 3–5) · Sample lesson in the demo Needs Instructions in order (required).Try the sample lesson: Repeat blocks
- DS-CMP-TYP-01 The home row, Level 3–6, Digital skills. Planned.
- DS-CMP-TYP-01The home rowDigital skills · Primary 3 to Primary 6 (Level 3–6) · Planned · recommended
- CO-BLK-CND-01 If this, then that, Level 3–6, Coding. Planned.
- CO-BLK-CND-01If this, then thatCoding · Primary 3 to Primary 6 (Level 3–6) · Planned · recommended
- CO-BLK-LOP-02 Patterns with loops, Level 4–6, Coding. Planned.
- CO-BLK-LOP-02Patterns with loopsCoding · Primary 4 to Primary 6 (Level 4–6) · Planned Needs Repeat blocks (required).
- DS-FIL-ORG-01 Folders that make sense, Level 4–7, Digital skills. Planned.
- DS-FIL-ORG-01Folders that make senseDigital skills · Primary 4 to JSS 1 (Level 4–7) · Planned · recommended
- MA-ARI-ORD-01 Order of operations, Level 5–6, Maths. Planned.
- MA-ARI-ORD-01Order of operationsMaths · Primary 5 to Primary 6 (Level 5–6) · Planned · recommended
- CO-BLK-LOP-03 Loops inside loops, Level 5–7, Coding. Planned.
- CO-BLK-LOP-03Loops inside loopsCoding · Primary 5 to JSS 1 (Level 5–7) · Planned · recommended
- CO-PRG-PYB-01 Your first Python program, Level 7–9, Coding. Planned.
- CO-PRG-PYB-01Your first Python programCoding · JSS 1 to JSS 3 (BECE) (Level 7–9) · Planned Needs Patterns with loops (required), The home row (recommended).
- CO-PRG-PYB-02VariablesCoding · JSS 1 to JSS 3 (BECE) (Level 7–9) · Sample lesson in the demo Needs Your first Python program (required).Try the sample lesson: Variables
- CO-PRG-PYB-03Numbers and calculationsCoding · JSS 1 to JSS 3 (BECE) (Level 7–9) · Planned Needs Variables (required), Order of operations (recommended).
- MA-ALG-FRM-01Substituting into formulaeMaths · JSS 1 to JSS 2 (Level 7–8) · Planned · recommended
- CO-PRG-PYB-05Decisions with ifCoding · JSS 2 to SSS 1 (Level 8–10) · Planned Needs Numbers and calculations (required), If this, then that (recommended).
- CO-PRG-PYB-06Loops in PythonCoding · JSS 2 to SSS 1 (Level 8–10) · Planned Needs Decisions with if (required), Loops inside loops (recommended).
- CO-PRG-PYF-01Defining functionsCoding · JSS 2 to SSS 2 (Level 8–11) · Planned Needs Loops in Python (required).
- CO-PRG-PYF-02Parameters and return valuesCoding · JSS 3 (BECE) to SSS 2 (Level 9–11) · Planned Needs Defining functions (required), Substituting into formulae (recommended).
- CO-SWD-GIT-01Why version control?Coding · SSS 3 (WASSCE) to A level / JUPEB / foundation year (Level 12–13) · Planned Needs Parameters and return values (required), Folders that make sense (recommended).
- CO-SWD-GIT-02Commits and historyCoding · SSS 3 (WASSCE) to A level / JUPEB / foundation year (Level 12–13) · Planned Needs Why version control? (required).
- From here on: Beyond school · university levelCO-SWD-GIT-03Branches and mergingCoding · A level / JUPEB / foundation year to 100 Level (Level 13–14) · Planned · the destination Needs Commits and history (required).
Help light the room where this is learned.
Every route on this map starts in a classroom with 24 stations, a tutor that works offline and a facilitator upstairs. Four are planned and waiting for light.