- Konflikt : Ein Konflikt tritt auf, wenn Git die Änderungen zweier Branches nicht automatisch zusammenführen kann. Konflikte müssen manuell aufgelöst werden.
---
## SU 05 (01.12.2023)
### Lernziel
* Relevante Literatur für Programmiermethoden und Werkzeuge, einschließlich "Continuous Integration and Delivery" und "Programmierung und Ethik".
* Kooperation im Softwareentwicklungsprozess, einschließlich der Größe von Softwareprojekten, Zusammenführen von Einzelleistungen und Vorteile von Continuous Integration (CI)-Systemen.
* Bestandteile des Softwareentwicklungsprozesses, Abhängigkeitenverwaltung, semantische Versionierung, Source Code Management System (SCM), build-Prozess und Integration.
* Rolle von automatisierten Tests, Probleme der Continuous Integration, Vorteile automatisierter Tests und Grenzen automatisierter Tests.
* Vorgehensmodelle, darunter gemeinsames remote repository und privater fork.
### Erkenntnis
* Integration von CI-Systemen zur Automatisierung von Prozessen.
* Verwendung von SCM-Systemen für die Sicherung von Entwicklerarbeiten und Zusammenführung von parallel geänderten Dateien.
* Anwendung der semantischen Versionierung für klare Versionierung von Softwarekomponenten.
### Wiederholung
* Semantische Versionierung: Major für inkompatible Änderungen, Minor für zusätzliche Features bei abwärtskompatiblen Änderungen, Patch für Fehlerbehebungen bei abwärtskompatiblen Änderungen.
* Continuous Integration (CI): Automatisierte Prozesse verringern den Aufwand, formale Prozesse verringern Konfliktpotenzial, Vorstufe zu Continuous Delivery.