Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Zusammenführen von Branches | Arbeiten mit Branches in Git
Git Essentials

bookZusammenführen von Branches

Verständnis des Zusammenführens von Branches

In Git bezeichnet Mergen den Vorgang, Änderungen von einem Branch in einen anderen zu integrieren. Der häufigste Anwendungsfall ist das Zusammenführen von Feature-Branches in den Haupt-Branch (z. B. main oder master). Dies stellt sicher, dass die neuesten Funktionen und Fehlerbehebungen in den Haupt-Codebestand aufgenommen werden.

Grundlegender Merge-Workflow

Zunächst die beiden letzten Commits anzeigen. Beachte, dass du dich aktuell auf dem Branch feature/new-feature befindest.

Die zwei neuesten Commits auf dem Feature-Branch

Wie ersichtlich ist, befindet sich der Branch master 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:

Wechsel zu master und Anzeige der zwei neuesten Commits

Der Branch master befindet sich tatsächlich einen Commit hinter dem feature-Branch. Zum Zusammenführen wird der Befehl git merge verwendet und der Branch angegeben, der in den aktuellen Branch integriert werden soll. Um beispielsweise den Branch feature/new-feature in master zu integrieren, folgenden Befehl ausführen:

Zusammenführen
Note
Hinweis

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:

Die zwei neuesten Commits nach dem Merge

Sie befinden sich weiterhin auf dem master-Branch, aber dieser ist nun auf dem aktuellen Stand mit dem feature-Branch, wobei beide Branches auf denselben Commit zeigen.

Note
Hinweis

Der HEAD zeigt weiterhin auf den master-Branch, da Sie sich während 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 angegeben. 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.

Zur Verdeutlichung siehe folgende Abbildung:

Bei dieser Art von Merge wird der Zeiger des ausgecheckten Branches einfach auf den neuesten Commit aktualisiert.

Three-Way-Merge

Wenn sich jedoch die Historien der Branches unterschieden 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 folgende Abbildung dieses Merge-Typs:

So funktioniert ein Drei-Wege-Merge:

  1. Git identifiziert die Änderungen, die auf jedem der Branches nach dem jüngsten gemeinsamen Vorfahren vorgenommen wurden;
  2. 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;
  3. Andernfalls tritt ein Merge-Konflikt auf.
question mark

Wählen Sie alle Merge-Typen aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 3.57

bookZusammenführen von Branches

Swipe um das Menü anzuzeigen

Verständnis des Zusammenführens von Branches

In Git bezeichnet Mergen den Vorgang, Änderungen von einem Branch in einen anderen zu integrieren. Der häufigste Anwendungsfall ist das Zusammenführen von Feature-Branches in den Haupt-Branch (z. B. main oder master). Dies stellt sicher, dass die neuesten Funktionen und Fehlerbehebungen in den Haupt-Codebestand aufgenommen werden.

Grundlegender Merge-Workflow

Zunächst die beiden letzten Commits anzeigen. Beachte, dass du dich aktuell auf dem Branch feature/new-feature befindest.

Die zwei neuesten Commits auf dem Feature-Branch

Wie ersichtlich ist, befindet sich der Branch master 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:

Wechsel zu master und Anzeige der zwei neuesten Commits

Der Branch master befindet sich tatsächlich einen Commit hinter dem feature-Branch. Zum Zusammenführen wird der Befehl git merge verwendet und der Branch angegeben, der in den aktuellen Branch integriert werden soll. Um beispielsweise den Branch feature/new-feature in master zu integrieren, folgenden Befehl ausführen:

Zusammenführen
Note
Hinweis

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:

Die zwei neuesten Commits nach dem Merge

Sie befinden sich weiterhin auf dem master-Branch, aber dieser ist nun auf dem aktuellen Stand mit dem feature-Branch, wobei beide Branches auf denselben Commit zeigen.

Note
Hinweis

Der HEAD zeigt weiterhin auf den master-Branch, da Sie sich während 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 angegeben. 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.

Zur Verdeutlichung siehe folgende Abbildung:

Bei dieser Art von Merge wird der Zeiger des ausgecheckten Branches einfach auf den neuesten Commit aktualisiert.

Three-Way-Merge

Wenn sich jedoch die Historien der Branches unterschieden 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 folgende Abbildung dieses Merge-Typs:

So funktioniert ein Drei-Wege-Merge:

  1. Git identifiziert die Änderungen, die auf jedem der Branches nach dem jüngsten gemeinsamen Vorfahren vorgenommen wurden;
  2. 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;
  3. Andernfalls tritt ein Merge-Konflikt auf.
question mark

Wählen Sie alle Merge-Typen aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4
some-alt