From 90afd7852751eeb6d2a3983b68420163a68bd9fe Mon Sep 17 00:00:00 2001 From: Lars Frost <larsf@fsmpi.rwth-aachen.de> Date: Mon, 18 Nov 2024 17:21:28 +0100 Subject: [PATCH] Start team sheet --- materials/sheet_team.typ | 85 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/materials/sheet_team.typ b/materials/sheet_team.typ index e69de29..2f14f20 100644 --- a/materials/sheet_team.typ +++ b/materials/sheet_team.typ @@ -0,0 +1,85 @@ +#import "sheet_template.typ": * +#import "global.typ": * + +#let title = "Aufgabenblatt: Kollaborative Git Nutzung" + +#show: doc => apply-template(title, "de", doc) + += Pointers +``` +* bad8c60 (HEAD -> main, tag: v1.0) Merge branch 'fix-critical-bug' +|\ +| * aff0f18 (fix-critical-bug) F +* | 17caabd C +|/ +* f86e534 (tag: rc1) B +| * 913336d (tmp) E +| * 6c96e08 D +|/ +* bd7207d A +``` + +#task[ + #set enum(numbering: "a)") + Der Befehl `git gc` entfernt, ähnlich dem Java Garbage-Collector, + alle Commits und Objekte die nicht mehr direkt oder indirekt referenziert werden. + Betrachte den folgenden Git-Graphen. + Welche Commits werden bei den folgenden Befehlen gelöscht, wenn anschließend `git gc` aufgerufen wird? + + + `git branch --delete tmp` + + `git branch --delete fix-critical-bug` + + `git reset --hard aff0f18` + + `git reset --hard rc1 && git tag --delete v1.0` + + `git tag --delete rc1` + + `git checkout tmp && git reset --hard 6c96e08` + + `git checkout tmp && git reset --hard aff0f18 && git branch --delete fix-critical-bug` +] + += Addresssing +``` +* bad8c60 (HEAD -> main, tag: v1.0) Merge branch 'fix-critical-bug' +|\ +| * aff0f18 (fix-critical-bug) F +* | 17caabd C +|/ +* f86e534 (tag: rc1) B +| * 913336d (tmp) E +| * 6c96e08 D +|/ +* bd7207d A +``` +#task[ + #set enum(numbering: "a)") + Betrachte den folgenden Git-Graphen. + Welche Commits werden bei den folgenden Aliasen bezeichnet? + + + `HEAD` + + `HEAD~` + + `rc1~` + + `HEAD~2` + + `HEAD^` + + `HEAD^2` + + `HEAD~^^2` +] + += RWTH-Gitlab +Zum Teilen von Git-Repositories hosted die RWTH die Platform GitLab. +Auf der Login-Seite der #link("https://git.rwth-aachen.de/users/sign_in")[GitLab-Instanz] gibt es die Option "DFN-AAI Single-Sign-On" über die du dich mit deinen RWTH Zugangsdaten einloggen kannst. + +#task[ + Bilde mit deinem Nachbarn ein Team. + Einer von euch erstellt ein neues Projekt und lädt den anderen ein. + Ihr findet die Übersicht über die Mitglieder eures Projekts in #path(("Manage", "Members")). + Dort gibt es den Button `Invite Members`. + Euer Team benötigt mindestens die Rolle `Developer`. +] + +#task[ + + Klont das Repository auf euren Laptop. + + Erstellt beide euren eigenen Branch mit `git checkout -b <branch-name>`. + + Erstellt unterscheidliche Commits mit unterschiedlichen Dateien. + + Pusht eure Branches in das Repository. + + Merged eure Commits nacheinander in den `main`-Branch. +] + += Merge-Konflikte -- GitLab