Zusammenführen von Branches
Verständnis des Zusammenführens von Branches
In Git bezeichnet Mergen den Prozess, Änderungen von einem Branch in einen anderen zu integrieren. Der häufigste Anwendungsfall ist das Zusammenführen von Feature-Branches in den Main-Branch (z. B. main oder master). Dies stellt sicher, dass die neuesten Funktionen und Fehlerbehebungen in den Haupt-Codebestand aufgenommen werden.
Grundlegender Merge-Workflow
Zuerst die beiden letzten Commits anzeigen.
Beachte, dass du dich aktuell auf dem Branch feature/new-feature befindest.
Wie ersichtlich ist, befindet sich der master-Branch einen Commit hinter.
Vor dem Zusammenführen muss auf den Branch gewechselt werden, in den die Änderungen integriert werden sollen.
Zum master-Branch wechseln und die zwei neuesten Commits darauf anzeigen:
Der master-Branch ist tatsächlich einen Commit hinter dem feature-Branch.
Zum Zusammenführen den Befehl git merge verwenden und den Branch angeben, der in den aktuellen Branch integriert werden soll.
Um beispielsweise den Branch feature/new-feature in master zu integrieren, folgenden Befehl ausführen:
Die nach Ausführung des Befehls angezeigte Meldung enthält Folgendes: Fast-forward, was angibt, dass ein Fast-Forward-Merge durchgeführt wurde.
Die beiden Merge-Typen werden später in diesem Kapitel behandelt. Zuvor die beiden letzten Commits anzeigen:
Sie befinden sich weiterhin auf dem master-Branch, aber dieser ist nun mit dem feature-Branch auf dem neuesten Stand, wobei beide Branches auf denselben Commit zeigen.
Der HEAD zeigt weiterhin auf den master-Branch, da Sie sich beim Ausführen des Merges auf diesem Branch befanden.
Merge-Typen
In Git gibt es zwei Arten von Merge-Operationen:
- Fast-Forward-Merge;
- Three-Way-Merge.
Fast-Forward-Merge
Der von Ihnen durchgeführte Merge ist ein Fast-Forward-Merge, wie in der Meldung angezeigt. Dieser Typ tritt auf, wenn alle Commits des aktuell ausgecheckten Branches auch im zu mergenden Branch vorhanden sind, das heißt, ihre Commit-Historien weichen nicht voneinander ab.
Siehe die folgende Abbildung zur Verdeutlichung:
Bei diesem Merge-Typ wird der Zeiger des ausgecheckten Branches einfach auf den neuesten Commit aktualisiert.
Three-Way-Merge
Wenn sich jedoch die Historien der Branches auseinanderentwickelt haben, das heißt, nach einem gemeinsamen Commit wurden auf jedem Branch separat neue Commits erstellt, wird ein Three-Way-Merge durchgeführt.
Der Begriff "Three-Way" bezieht sich auf die drei Versionen, die am Merge beteiligt sind:
- Die Version des jüngsten gemeinsamen Vorgängers (Commit);
- Die Version des letzten Commits im aktuellen Branch (HEAD);
- Die Version des letzten Commits im zu mergenden Branch.
Siehe die folgende Abbildung zu diesem Merge-Typ:
So funktioniert ein Drei-Wege-Merge:
- Git identifiziert die Änderungen, die auf jedem der Branches nach dem jüngsten gemeinsamen Vorfahren vorgenommen wurden;
- Wenn jeder Branch Änderungen in unterschiedlichen Dateien oder in verschiedenen Teilen derselben Datei enthält, wird Git die Änderungen automatisch zusammenführen, indem sie im resultierenden Commit kombiniert werden;
- Andernfalls tritt ein Merge-Konflikt auf.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.57
Zusammenführen von Branches
Swipe um das Menü anzuzeigen
Verständnis des Zusammenführens von Branches
In Git bezeichnet Mergen den Prozess, Änderungen von einem Branch in einen anderen zu integrieren. Der häufigste Anwendungsfall ist das Zusammenführen von Feature-Branches in den Main-Branch (z. B. main oder master). Dies stellt sicher, dass die neuesten Funktionen und Fehlerbehebungen in den Haupt-Codebestand aufgenommen werden.
Grundlegender Merge-Workflow
Zuerst die beiden letzten Commits anzeigen.
Beachte, dass du dich aktuell auf dem Branch feature/new-feature befindest.
Wie ersichtlich ist, befindet sich der master-Branch einen Commit hinter.
Vor dem Zusammenführen muss auf den Branch gewechselt werden, in den die Änderungen integriert werden sollen.
Zum master-Branch wechseln und die zwei neuesten Commits darauf anzeigen:
Der master-Branch ist tatsächlich einen Commit hinter dem feature-Branch.
Zum Zusammenführen den Befehl git merge verwenden und den Branch angeben, der in den aktuellen Branch integriert werden soll.
Um beispielsweise den Branch feature/new-feature in master zu integrieren, folgenden Befehl ausführen:
Die nach Ausführung des Befehls angezeigte Meldung enthält Folgendes: Fast-forward, was angibt, dass ein Fast-Forward-Merge durchgeführt wurde.
Die beiden Merge-Typen werden später in diesem Kapitel behandelt. Zuvor die beiden letzten Commits anzeigen:
Sie befinden sich weiterhin auf dem master-Branch, aber dieser ist nun mit dem feature-Branch auf dem neuesten Stand, wobei beide Branches auf denselben Commit zeigen.
Der HEAD zeigt weiterhin auf den master-Branch, da Sie sich beim Ausführen des Merges auf diesem Branch befanden.
Merge-Typen
In Git gibt es zwei Arten von Merge-Operationen:
- Fast-Forward-Merge;
- Three-Way-Merge.
Fast-Forward-Merge
Der von Ihnen durchgeführte Merge ist ein Fast-Forward-Merge, wie in der Meldung angezeigt. Dieser Typ tritt auf, wenn alle Commits des aktuell ausgecheckten Branches auch im zu mergenden Branch vorhanden sind, das heißt, ihre Commit-Historien weichen nicht voneinander ab.
Siehe die folgende Abbildung zur Verdeutlichung:
Bei diesem Merge-Typ wird der Zeiger des ausgecheckten Branches einfach auf den neuesten Commit aktualisiert.
Three-Way-Merge
Wenn sich jedoch die Historien der Branches auseinanderentwickelt haben, das heißt, nach einem gemeinsamen Commit wurden auf jedem Branch separat neue Commits erstellt, wird ein Three-Way-Merge durchgeführt.
Der Begriff "Three-Way" bezieht sich auf die drei Versionen, die am Merge beteiligt sind:
- Die Version des jüngsten gemeinsamen Vorgängers (Commit);
- Die Version des letzten Commits im aktuellen Branch (HEAD);
- Die Version des letzten Commits im zu mergenden Branch.
Siehe die folgende Abbildung zu diesem Merge-Typ:
So funktioniert ein Drei-Wege-Merge:
- Git identifiziert die Änderungen, die auf jedem der Branches nach dem jüngsten gemeinsamen Vorfahren vorgenommen wurden;
- Wenn jeder Branch Änderungen in unterschiedlichen Dateien oder in verschiedenen Teilen derselben Datei enthält, wird Git die Änderungen automatisch zusammenführen, indem sie im resultierenden Commit kombiniert werden;
- Andernfalls tritt ein Merge-Konflikt auf.
Danke für Ihr Feedback!