From 2daf95bb5bac7d07107291520b21d3b202bf368d Mon Sep 17 00:00:00 2001 From: fdai7472 Date: Wed, 15 Nov 2023 14:43:40 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 0e1a2bc..3a28c92 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -52,3 +52,22 @@ Die Wahl einer passenden IDE (Integrated Develepment Environment) hat großen Ei ### Wiederholung Ein Entwurfsmuster ist eine bereits erprobte Lösungsschablone für wiederkehrende Probleme. Ihre Vor- und Nachteile sind also im Voraus schon bekannt. Sofern ein Entwurfsmuster allen geläufig ist, erleichtert dies die Kommunikation und Dokumentation in einem Gruppenprojekt. Entwurfsmuster finden sowohl auf Modulebene (Makro-Design) als auch auf Prozedur-/Klassenebene (Mikro-Design) Anwendung. Man unterscheidet zwischen Erzeugungsmuster, Strukturmuster und Verhaltensmuster. + +## SU 04 (14.11.2023) + +### Lernziel + +- Source Code Management (SCM) +- zentrales (centralized) vs verteiltes (distributed) SCM +- Konzept von git +- Vorteile von kurzen, sauberen commits +- Branching (master, develop, release, hotfix, feature) +- Unterschiede zwischen Merge und Rebase + +### Erkenntnis + +Je größer ein Coding Projekt, desto wichtiger ist es, das Projekt zu protokollieren und funktionierende Stände regelmäßig abzuspeichern. Git ist ein nützliches Tool, um den Quellcode zu verwalten (Source Code Management) und Zusammenarbeit zu erleichtern. Zu gits Funktionalitäten gehören einfache Navigation/Suche im Projekt, Vergleich/Zugriff auf alte Stände, optimierte Speichernutzung, automatisierte merges und übersichtliche Wiedergabe der Historie als Baumstruktur. Kurze und saubere commits minimieren Konflikte im Code und sorgen für genaue Dokumentation innerhalb der Historie. + +### Wiederholung + +Bei zentralem SCM wird die Historie auf einem Server/Netzwerk gespeichert. Dadurch sind die Dateien abgesichert. Alle Entwickler sehen alle commits und es ist erkennbar, wer an welcher Datei gerade arbeitet. Offline arbeiten sowie paralleles Arbeiten an einer Datei ist jedoch nicht möglich (locking). Im Gegenzug hat bei dem verteilten SCM jeder Entwickler seine eigene Version des Repositories. Dieses funktioniert ohne (permanente) Netzwerkverbindung und dient als implizietes Backup. Das Repository aller Entwickler ist also nicht synchron, wodurch Konflikte bei merges häufig auftreten.