@ -174,14 +174,17 @@ Die Nutzung der Debugging-Funktionen einer IDE ist oft übersichtlicher und effe
### Erkenntnis
In der Gruppenarbeit ist es wesentlich, Git effektiv zu nutzen, um eine klare, nachvollziehbare Projektgeschichte zu gewährleisten. Insbesondere das gezielte Einsatz von Branching und Commit-Strategien hilft, Konflikte zu minimieren und die Zusammenarbeit zu optimieren.
In der Gruppenarbeit ist es wesentlich, Git effektiv zu nutzen, um eine klare, nachvollziehbare Projektgeschichte zu gewährleisten. Insbesondere der gezielte Einsatz von Branching und Commit-Strategien hilft, Konflikte zu minimieren und die Zusammenarbeit zu optimieren.
### Wiederholung
**Merge vs. Rebase:**
- Beim **Merge** werden die Änderungen aus einem Branch in einen anderen integriert, wobei die parallelen Entwicklungsstränge und deren Historie erhalten bleiben. Dies führt oft zu einem verzweigten und komplexen Historiendiagramm.
- **Rebase** hingegen verlagert die Commits eines Branches auf den aktuellen Stand eines anderen Branches, wodurch eine lineare und übersichtliche Historie entsteht. Dies kann jedoch zu Problemen führen, wenn die geänderten Commits bereits öffentlich geteilt wurden.
- **Merge:** Hierbei wird die parallele Historie in einem komplexen Historiendiagramm sichtbar. Vorteile sind, dass die Historie die parallele Arbeit visualisiert und Konfliktlösungen nur einmal pro Merge notwendig sind. Nachteile sind ein komplexer Historiengraph und Konfliktlösungen zwischen den endgültigen Zuständen.
- **Rebase:** Bei Rebase wird eine "saubere" Historie erzeugt, bei der alle Feature-Commits aufeinander folgen. Vorteile sind eine übersichtliche Historie, Konfliktlösungen pro Commit mit weniger gleichzeitigen Änderungen, und eine höhere Wahrscheinlichkeit für automatische Lösungen. Nachteile sind eine Historie, die nicht den tatsächlichen Zeitverlauf zeigt, potenzielle Konflikte bei jedem Commit und die Erzeugung von "verwaisten" Commits.
Rebase wird bei unfertigen Features, die noch nicht in andere Branches gemerged wurden, bevorzugt und wenn eine saubere Historie gewünscht ist. Merge ist sinnvoll, wenn sich der aktuelle Branch auf develop oder master befindet und die Historie zeitlich synchron bleiben soll.