80 lines
3.5 KiB
Markdown
80 lines
3.5 KiB
Markdown
---
|
|
id: act-09-git-lab
|
|
title: Git Lab
|
|
mode: lab
|
|
open_at: 2026-02-01T00:00:00+01:00
|
|
close_at: 2026-12-31T23:59:59+01:00
|
|
retakes_enabled: true
|
|
max_attempts: 999
|
|
grade_max: 100
|
|
---
|
|
|
|
## T1
|
|
Type: folder
|
|
Points: 20
|
|
Prompt: Create folder @solutions/act-01-git-lab/t1-branching-basics/ containing commands.txt (commands+output) and graph.txt (output of git log --oneline --decorate --graph --all) for a repo where you created a branch, made at least one commit on each branch, and switched between branches.
|
|
Refs:
|
|
- mat-07-git#branching
|
|
- mat-07-git#creating-and-switching-branches
|
|
- mat-07-git#divergent-history-and-viewing-the-graph
|
|
Rubric:
|
|
- commands.txt shows branch creation, switching, and at least one commit on each branch (10)
|
|
- graph.txt shows both branches in the graph (6)
|
|
- Outputs are readable and clearly separated by command (4)
|
|
|
|
## T2
|
|
Type: single_choice
|
|
Points: 10
|
|
Prompt: In the materials, what is HEAD used for? A) It is the server-side copy of your repository B) It is a special pointer that tells Git what branch you are currently on C) It is a list of ignored files D) It is the file that stores your username and email
|
|
Refs:
|
|
- mat-07-git#head-pointer-and-current-branch
|
|
|
|
## T3
|
|
Type: file
|
|
Points: 20
|
|
Prompt: Create file @solutions/act-01-git-lab/t3-merge.txt containing commands+output for a merge scenario: create a topic branch, make changes, switch back to the base branch, make another commit, then git merge the topic branch and show the resulting git log --oneline --decorate --graph --all.
|
|
Refs:
|
|
- mat-07-git#fast-forward-merges
|
|
- mat-07-git#three-way-merges
|
|
- mat-07-git#merge-conflicts-and-resolution
|
|
- mat-07-git#divergent-history-and-viewing-the-graph
|
|
Rubric:
|
|
- Shows creation of a topic branch and commits on both branches (8)
|
|
- Shows a successful merge and the final graph output (8)
|
|
- If a conflict occurred, shows resolution steps (edit, git add, git commit) (3)
|
|
- Commands and outputs are clearly labeled (1)
|
|
|
|
## T4
|
|
Type: multiple_choice
|
|
Points: 10
|
|
Prompt: Select ALL correct statements about merging from the materials. A) Fast-forward merge happens when there is no divergent history B) Three-way merge creates a merge commit with 2+ parents C) Fast-forward merge always creates a merge commit D) After merging a topic branch, it is common to delete it with git branch -d
|
|
Refs:
|
|
- mat-07-git#fast-forward-merges
|
|
- mat-07-git#three-way-merges
|
|
- mat-07-git#deleting-branches-after-merge
|
|
|
|
## T5
|
|
Type: file
|
|
Points: 20
|
|
Prompt: Create file @solutions/act-01-git-lab/t5-remotes.txt containing commands+output for: showing remotes (git remote -v), adding or confirming origin (git remote add ... if needed), and pushing at least one branch to GitHub with git push (use git push -u origin <branch> if setting upstream).
|
|
Refs:
|
|
- mat-07-git#showing-and-adding-remotes
|
|
- mat-07-git#pushing
|
|
- mat-07-git#tracking-branches-upstream
|
|
Rubric:
|
|
- Includes git remote -v output showing at least one remote (6)
|
|
- Demonstrates a push to GitHub with command and output (8)
|
|
- Shows upstream setup (git push -u) or explains via output that branch is tracking (4)
|
|
- Commands and outputs are clearly labeled (2)
|
|
|
|
## T6
|
|
Type: essay
|
|
Points: 20
|
|
Prompt: Explain what merge conflict markers mean and list the exact steps to resolve a merge conflict until Git considers it resolved.
|
|
Refs:
|
|
- mat-07-git#merge-conflicts-and-resolution
|
|
Rubric:
|
|
- Correctly explains the meaning of conflict markers (<<<<<<<, =======, >>>>>>>) (8)
|
|
- Lists the resolution workflow: edit, stage (git add), commit (git commit) (8)
|
|
- Mentions checking state with git status and/or verifying final history (4)
|