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 Merging 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

Betrachten wir zunächst die beiden letzten Commits. Beachten Sie, dass wir uns aktuell auf dem Branch feature/new-feature befinden.

Wie Sie sehen, ist unser Branch master einen Commit hinterher. Bevor wir jedoch Änderungen zusammenführen, müssen wir zum Branch wechseln, in den wir die Änderungen integrieren möchten. Wechseln wir also zum Branch master und zeigen die beiden letzten Commits auf diesem Branch an:

Der master-Branch liegt tatsächlich einen Commit hinter dem feature-Branch, daher führen wir nun das Zusammenführen durch. Um den Merge-Prozess zu starten, sollte der Befehl git merge verwendet und der Branch angegeben werden, der in den aktuellen Branch zusammengeführt werden soll. Um beispielsweise einen Feature-Branch namens feature/new-feature in den master-Branch zu mergen, sollte folgender Befehl ausgeführt werden:

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 betrachten wir jedoch die beiden letzten Commits:

Wir befinden uns weiterhin auf dem master-Branch, jedoch ist dieser Branch nun auf dem aktuellen Stand mit unserem feature-Branch, wobei beide Branches auf denselben Commit verweisen.

Note
Hinweis

Der HEAD verweist weiterhin auf den master-Branch, da wir uns während des Mergings auf diesem Branch befanden.

Merge-Typen

Tatsächlich gibt es in Git zwei Arten von Merge-Operationen:

  • Fast-Forward-Merge;
  • Drei-Wege-Merge.

Fast-Forward-Merge

Der Merge, den wir durchgeführt haben, ist ein Beispiel für einen Fast-Forward-Merge, wie in der Meldung erwähnt. Diese Art von Merge wird durchgeführt, wenn alle Commits des Branches, auf dem wir uns aktuell befinden (ausgecheckter Branch), ebenfalls Teil des zu mergenden Branches sind. Das bedeutet, dass sich die Commit-Historien dieser Branches nicht unterscheiden. Schauen wir uns zur Verdeutlichung die folgende Abbildung an:

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

Drei-Wege-Merge

Wenn sich jedoch die Historie der Branches verzweigt hat, das heißt, nach einem gemeinsamen Commit wurden auf jedem Branch separat neue Commits erstellt, wird ein Drei-Wege-Merge durchgeführt.

Der Begriff "Drei-Wege" bezieht sich auf die drei Versionen, die am Merge beteiligt sind:

  • die Version des jüngsten gemeinsamen Vorfahren (Commit);
  • die Version des letzten Commits im aktuellen Branch (HEAD);
  • die Version des letzten Commits im zu mergenden Branch.

Im Folgenden eine Illustration eines solchen Merges:

So funktioniert ein Drei-Wege-Merge:

  1. Git identifiziert die Änderungen, die auf jedem Branch 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

Suggested prompts:

What is a merge conflict and how do I resolve it?

Can you explain the difference between fast-forward and three-way merges in more detail?

When should I use each type of merge in my workflow?

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 Merging 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

Betrachten wir zunächst die beiden letzten Commits. Beachten Sie, dass wir uns aktuell auf dem Branch feature/new-feature befinden.

Wie Sie sehen, ist unser Branch master einen Commit hinterher. Bevor wir jedoch Änderungen zusammenführen, müssen wir zum Branch wechseln, in den wir die Änderungen integrieren möchten. Wechseln wir also zum Branch master und zeigen die beiden letzten Commits auf diesem Branch an:

Der master-Branch liegt tatsächlich einen Commit hinter dem feature-Branch, daher führen wir nun das Zusammenführen durch. Um den Merge-Prozess zu starten, sollte der Befehl git merge verwendet und der Branch angegeben werden, der in den aktuellen Branch zusammengeführt werden soll. Um beispielsweise einen Feature-Branch namens feature/new-feature in den master-Branch zu mergen, sollte folgender Befehl ausgeführt werden:

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 betrachten wir jedoch die beiden letzten Commits:

Wir befinden uns weiterhin auf dem master-Branch, jedoch ist dieser Branch nun auf dem aktuellen Stand mit unserem feature-Branch, wobei beide Branches auf denselben Commit verweisen.

Note
Hinweis

Der HEAD verweist weiterhin auf den master-Branch, da wir uns während des Mergings auf diesem Branch befanden.

Merge-Typen

Tatsächlich gibt es in Git zwei Arten von Merge-Operationen:

  • Fast-Forward-Merge;
  • Drei-Wege-Merge.

Fast-Forward-Merge

Der Merge, den wir durchgeführt haben, ist ein Beispiel für einen Fast-Forward-Merge, wie in der Meldung erwähnt. Diese Art von Merge wird durchgeführt, wenn alle Commits des Branches, auf dem wir uns aktuell befinden (ausgecheckter Branch), ebenfalls Teil des zu mergenden Branches sind. Das bedeutet, dass sich die Commit-Historien dieser Branches nicht unterscheiden. Schauen wir uns zur Verdeutlichung die folgende Abbildung an:

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

Drei-Wege-Merge

Wenn sich jedoch die Historie der Branches verzweigt hat, das heißt, nach einem gemeinsamen Commit wurden auf jedem Branch separat neue Commits erstellt, wird ein Drei-Wege-Merge durchgeführt.

Der Begriff "Drei-Wege" bezieht sich auf die drei Versionen, die am Merge beteiligt sind:

  • die Version des jüngsten gemeinsamen Vorfahren (Commit);
  • die Version des letzten Commits im aktuellen Branch (HEAD);
  • die Version des letzten Commits im zu mergenden Branch.

Im Folgenden eine Illustration eines solchen Merges:

So funktioniert ein Drei-Wege-Merge:

  1. Git identifiziert die Änderungen, die auf jedem Branch 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