Schnelles Weiterleiten beim Zusammenführen von Branches in Git

Azhar Bashir Khan 6 Februar 2022
Schnelles Weiterleiten beim Zusammenführen von Branches in Git

In diesem Tutorial wird die schnelle Weiterleitung beim Zusammenführen von Branches in Git eingeführt.

Git, ein Versionskontrollsystem, wird in einer kollaborativen Entwicklungsumgebung verwendet, um die an den Dateien vorgenommenen Änderungen zu verfolgen.

In einem Git-Repository erstellen wir viele Branches aus dem Mainline-Branch für unterschiedliche Zwecke. Eventuell führen wir die Änderungen aus diesen Zweigen in den Mainline-Zweig ein, um einen Release-Build bereitzustellen.

Manchmal wird der Ziel-Branch von Git während des Zusammenführens einfach vorgespult, anstatt eine tatsächliche Zusammenführung durchzuführen.

Wir werden dies nun an einem Beispiel veranschaulichen.

Fast-Forward-Merge in Git

In einer kollaborativen Entwicklungsumgebung können wir mehrere Zweige aus dem Hauptzweig im Git-Repository erstellen. Angenommen, wir erstellen für Fehlerkorrekturen einen Zweig und sagen, dass wir möglicherweise einen anderen Zweig für die Entwicklung von Funktionen erstellen.

Schließlich führen wir diese Zweige mit dem Mainline-Zweig zusammen, um die Änderungen dieser Zweige zu integrieren und einen zusammenhängenden Build bereitzustellen.

Manchmal erstellen wir einen Branch aus dem Mainline-Branch, arbeiten daran und führen einige Commits für den neuen Branch durch. Dann beschließen wir, diese Filiale mit unserer Hauptfiliale zusammenzuführen.

Wenn nun ein linearer Pfad von der Spitze des aktuellen Zweigs zum Zielzweig, dem Hauptzweig, vorhanden ist, dann findet anstelle eines Merge-Commits im Zielzweig (Hauptzweig) ein schneller Vorlauf des Zweigs statt.

Angenommen, wir haben einen Branch namens feature1; wir führen die Änderungen von feature1 in den main, unseren Mainline-Zweig, ein.

Nehmen wir nun an, der Commit HEAD des Zweigs main ist ein Vorfahre des Commits des Zweigs feature1, den wir zusammenführen möchten.

In solchen Fällen muss Git, anstatt die Branches zusammenzuführen, alles, was Git tun muss, um die Historien zu integrieren, die aktuelle Branch-Spitze bis zur Ziel-Sprungspitze verschieben (d. h. schnell vorspulen).

In unserem Fall wird also beim Schnellvorlauf der aktuelle HEAD des main-Zweigs nach oben zur feature1-Zweigspitze verschoben.

Nachfolgend sehen Sie eine Darstellung der Situation der Branches main und feature1 vor der Zusammenlegung.

              E---F---G feature1
             /
A---B---C---D main

Wenn wir also in diesem Fall die beiden Zweige mit dem Befehl git merge zusammenführen, findet ein schneller Vorlauf statt.

Um eine Zusammenführung durchzuführen, führen wir den Befehl wie folgt aus.

$ git merge feature1

Nach Ausführung des Befehls wird der main-Zweig vorgespult.

Bitte sehen Sie sich die Abbildung des Schnellvorlaufs unten an.

              E---F---G feature1, main
             /
A---B---C---D

Somit wird jetzt der aktuelle HEAD des main-Zweigs vorgespult. Git erstellt in diesem Fall keinen Merge-Commit.

Daher haben wir das schnelle Weiterleiten beim Zusammenführen von Zweigen in Git ausgearbeitet.

Für weitere Informationen, besuchen Sie bitte -

  1. Git Merge
  2. Git Branching – Grundlegendes Verzweigen und Zusammenführen

Verwandter Artikel - Git Merge