From 2e83a7b8601dd3107ed2e3e0accc87b4cd6d0d84 Mon Sep 17 00:00:00 2001 From: fdai7723 Date: Sun, 26 Nov 2023 21:32:32 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index d303c48..70c4d17 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -64,4 +64,31 @@ Zu den Werkzeugen moderner IDEs gehört der Debugger. Der Debugger wird verwende ### Kritik +--- + +## SU 04 (14.11.2023) + +### Lernziel + +Vorlesung: +- Thema der Vorlesung waren das Tool git und das damit Verbundenen Source-Code-Management +- Erst wurden die Vorteile des SCM mit git vorgestellt, wie z.B., automatisierter merge, einfache Navigation und geringer Speicherverbrauch, da nur die Änderungen gespeichert werden. Ein weiterer Vorteil ist das Speichern der Historie in einem Verlauf. +- SCM kann sowohl lokal (distributed) oder auf einem externen Server (centralized) betrieben werden, beides bietet Vor- und Nachteile. Ersteres ist z.B. gut zum experimentieren und testen und läuft auch offline. +- Ein weiteres Thema waren der Einsatz von Branches. Darauf gehe ich bei der "Erkenntnis" und der "Wiederholung" noch genauer ein. + +Übung: + +- Ziel der Übung war es neue Befehle in git bash zu lernen und zu verwenden +- Hierzu gab es eine Aufgabe zum Umgang mit der Staging Area, Branching, Mergen, Konflikten beim Mergen, Rebase und Historie in git bash. Die Ausarbeitung hierzu befindet sich in "UebungSCM.md" in meinem Repository. +### Erkenntnis + +- Ein klar definiertes Branching Model erscheint mir für das Gruppenprojekt als äußerst wichtig, um als Neuling besser den Überblick zu behalten und immer die Möglichkeit zu haben, einen oder mehr Schritte zurück zu gehen oder seine Änderungen nachzuvollziehen, falls man z.B nicht mehr weiter kommt. Gut kategorisierte Branches helfen dabei, die Vielzahl an Commits, Versionen und Verbesserungen, die während der Gruppenarbeit entstehen werden, zu organisieren. + +### Wiederholung + +Git ist ein Source-Code-Management-Tool, das unter anderem mit Branches arbeitet. Branches haben gewisse Hierachien und sind wie Zeitstrahlen/Ereignislinien zu betrachten, welche verschiedene Verläufe und Versionen in einem Projekt darstellen. Der Anfangspunkt der Linie vom Master-Branch stellt den Start eines Projekts dar. Im Master Branch soll, sobald möglich, immer eine aktuelle funktionsfähige Testversion des Projekts vorliegen. Der Master Branch existiert das komplette Projekt über. Neben dem Master Branch können nun auch diverse andere Branches prallel existieren, die zur Entwicklung des Projekts beitragen. Das können z.B. Branches zum Experimentieren sein, die zu einem weiteren Branch gehören, der für die Entwicklung eines neuen Features gedacht ist, der dann wiederrum in den Master Branch gemerged wird um eine neue vorläufige Testversion zu erhalten. + +### Kritik + +---