### Erkenntnis - SCM sind fuer minimal Festplattennutzung optimisiert. Wir haben die Vorteilen und Unterschiede zwischen **Centralised** und **Distributed** SCM gesehen. Mit _Centralised_ SCM kann man einfacher Backups machen. Eine wichtige Nachteil mit _Centralised_ SCM ist, dass wir damit offline nicht arbeiten koennen. Vorteile fuer _Distributed_ SCM sind: keine Zentralserver noetig und kann auch zuhause (ohne Internetverbindung) weiterarbeiten. Nachteile sind, dass die Lokalrepositories nicht immer miteinander synchonisiert sind. Wir haben das auch gesehen und diskutiert, warum `git` wirklich wichtig ist.
### Erkenntnis - SCM sind fuer minimal Festplattennutzung optimisiert. Wir haben die Vorteilen und Unterschiede zwischen **Centralised** und **Distributed** SCM gesehen. Mit _Centralised_ SCM kann man einfacher Backups machen. Eine wichtige Nachteil mit _Centralised_ SCM ist, dass wir damit offline nicht arbeiten koennen. Vorteile fuer _Distributed_ SCM sind: keine Zentralserver noetig und kann auch zuhause (ohne Internetverbindung) weiterarbeiten. Nachteile sind, dass die Lokalrepositories nicht immer miteinander synchonisiert sind. Wann sollte man Merge verwenden (wenn es sich um ein unfertiges Feature handelt) und wann sollte man Rebase verwenden (wenn der aktuelle Branch Develop oder Master ist). Wir haben das auch gesehen und diskutiert, warum `git` wirklich wichtig ist.
### Wiederholung -
### Wiederholung -
@ -48,3 +48,15 @@
### Mitteilung an die Dozierenden -
### Mitteilung an die Dozierenden -
## Uebung 04 (21.11.2022)
## SU 05 (23.11.2022)
### Lernziel - **Kooperation im Softwareentwicklungsprozess** - **Integrationprozessen** - **Vorgehensmodelle der SCM**
### Erkenntnis - Wir sehen in der Vorlesung, warum bei der Softwareentwicklung mehrere Personen am Werk sein müssen und wie der Softwareentwicklungsprozess aufgebaut ist. Semantische Versionierung ist wichtig, um den Status und die Version Ihrer aktuellen Software zu kennen. Beispiel: **(1.0.0-beta1 / MAJOR.MINOR.PATCH-LABEL)**. Wenn MAJOR erhöht wird, werden MINOR und PATCH auf 0 zurückgesetzt. Ausschließlich können alle Entwickler mit einem gemeinsamen Remote-Repository arbeiten. Bei einer **privaten fork** gibt es ein separates Remote Repository für jeden Entwickler und ein zentrales Master-Repository. Jedes lokale Repository hat zwei entfernte Repositories: **Origin und Upstream**
### Wiederholung - Warum SCM ideal für die Softwareentwicklung ist. Was sind remote und lokale Repositories und wie können sie auf unterschiedliche Weise vorteilhaft genutzt werden.