* Entwurfsmuster sind wiederverwendbare allgemeine Lösungen für wiederkehrende Probleme, die häufig bei der Softwareentwicklung auftreten.
* Debugging bezieht sich auf den Prozess der Identifizierung, Analyse und Behebung von Fehlern oder Bugs in einem Programm
---
## SU 04 (17.11.2023)
### Lernziel
* warum sollte man Git verwenden ?
* wann und warum sollte man einen Commit machen?
* Erklärungen von Konzepten: Branch, Merge, rebase.
### Erkenntnis
* bessere Kenntnisse über Git
* Mit dem neu erworbenen Wissen kann ich Git effizienter und einfacher nutzen. Zum Beispiel kann ich Speicherplatz auf meinem Computer sparen, da ich das Konzept der Commits verstehe.
### Wiederholung
* Git bietet einen umfassenden Verlauf von Änderungen, die Möglichkeit zur effektiven Zusammenarbeit und die Flexibilität, Projekte jeder Größe zu verwalten. Es ist zu einem unverzichtbaren Werkzeug in der Softwareentwicklung geworden.
#### Zusammenfassung der wichtigsten Konzepte von Git :
- Repository : Ein Git-Repository ist ein Speicherort, der das Änderungshistorie Ihres Projekts sowie zugehörige Dateien enthält.
- Commit : Ein Commit repräsentiert eine bestimmte Änderung in einem Git-Repository. Jeder Commit wird durch einen eindeutigen Hash identifiziert und ist mit einer beschreibenden Nachricht versehen.
- Branch : Branches ermöglichen das Arbeiten an isolierten Funktionen, ohne den Hauptzweig (normalerweise master oder main) zu beeinflussen. Dies erleichtert die parallele Entwicklung.
- Merge: Das Zusammenführen ist der Prozess, Änderungen aus einem Zweig in einen anderen zu integrieren. Es kombiniert Änderungen aus verschiedenen Branches.
- Pull Request : In Projekten mit mehreren Beteiligten ist ein Pull Request ein Vorschlag zur Zusammenführung von Änderungen. Er ermöglicht es anderen Mitwirkenden, die Änderungen zu überprüfen und zu genehmigen, bevor sie zusammengeführt werden.
- Clone : Ein Git-Repository zu klonen bedeutet, eine lokale Kopie des entfernten Repositories auf Ihrem Rechner zu erstellen.
- Push/Pull: Push sendet lokale Änderungen an ein entferntes Repository, während Pull Änderungen aus dem entfernten Repository auf Ihren lokalen Rechner holt.
- Staging Area : Die Staging Area ist ein Zwischenspeicher, in dem Sie Änderungen vor dem Commit vorbereiten. Sie verwenden git add, um Änderungen in die Staging Area zu verschieben.
- HEAD: HEAD ist ein spezieller Zeiger, der auf die letzte Änderung in Ihrem Arbeitsbaum zeigt. Es zeigt normalerweise auf den letzten Commit des aktiven Zweigs.
- Konflikt : Ein Konflikt tritt auf, wenn Git die Änderungen zweier Branches nicht automatisch zusammenführen kann. Konflikte müssen manuell aufgelöst werden.