Wenn Sie Git zur Quellcodeverwaltung verwenden, müssen Sie möglicherweise verschiedene Entwicklungszweige für ein Projekt in einen einzelnen Zweig zusammenführen. Dieser Artikel wird Sie darüber informieren, wie Sie mit dem Git-Merge-Befehl zwei Entwicklungszweige kombinieren können.
Wir zeigen Ihnen, wie Sie ein Git-Projekt erstellen, verschiedene Zweige erstellen und einen Zweig in einen anderen zusammenführen. Darüber hinaus erfahren Sie, was ein Fast-Forward-Merge und ein 3-Wege-Merge sind, und wie Sie einen Branch in ein Remote-Repository zusammenführen.
Was ist ein Git-Merge?
Git ist ein beliebtes DevOps-Tool, das Entwickler zur Verfolgung und Verwaltung von Änderungen am von verschiedenen Teams geschriebenen Code verwenden können. Mit dem Befehl Git-Merge können Sie Ihren aktuellen Entwicklungszweig (den Sie vom Hauptzweig abgezweigt haben) nehmen und seine Codeänderungen wieder in den Hauptzweig zusammenführen.
Git-Merge ist ein Befehl, den Sie am häufigsten verwenden, wenn Sie in einem Team arbeiten. Es kann Zeiten geben, in denen Sie und ein anderer Entwickler an einem Feature auf zwei separaten Zweigen zusammenarbeiten. Wenn jedoch die Zeit gekommen ist, müssen Sie Ihre Arbeit in einen Zweig zusammenführen, diese Änderungen testen und dann Ihre kollaborative Entwicklung in den Hauptentwicklungszweig zusammenführen.
Da der Hauptentwicklungszweig aktualisiert wird, wird der separate Feature-Zweig, an dem Sie und andere Entwickler arbeiten, nicht mit den Änderungen Ihres Teams aktualisiert. Daher sollten Sie als bewährte Praxis, wenn es an der Zeit ist, eine Pull-Anfrage zu stellen, immer damit beginnen, Ihre lokale Version des Hauptzweigs mit den neuesten Änderungen zu aktualisieren. Anschließend können Sie den aktualisierten Hauptzweig in Ihren Entwicklungszweig zusammenführen, bevor Sie Änderungen bestätigen und eine Pull-Anfrage stellen, um sie in den Hauptentwicklungszweig zu integrieren.
So kombinieren Sie zwei Git-Zweige mit dem Git merge
Als Entwickler kann es wirklich helfen, wenn Sie mit Git vertraut sind, um produktiver zu sein. Zunächst einmal ist es grundlegend zu verstehen, wie man Git-Befehle von der Befehlszeile aus ausführt. Bevor wir beginnen, sehen wir uns an, was Sie zuerst einrichten müssen, bevor Sie verschiedene Git-Zweige zusammenführen können.
Voraussetzungen
Um loszulegen, benötigen Sie folgende Artikel:
- A Windows, Mac, or Linux machine to run Git.
- Die Git-App, die hier heruntergeladen werden kann.
- A GitHub or Gitlab account.
- Code-Editierungssoftware wie Visual Studio Code.
Lassen Sie uns schnell die verschiedenen Schritte durchgehen, um Git auf einem Windows-PC zu installieren (wir haben auch eine separate Anleitung zur Installation von Git auf Ubuntu):
- Folgen Sie dem Link, um Git für Ihre Maschine herunterzuladen und die Dateien zu installieren.
- Nach der Installation öffnen Sie Ihr Terminal und geben Sie git -version ein:
git –version
Wenn Sie eine Versionsnummer zurückgegeben bekommen, großartig! Wenn Sie jedoch eine „Befehl nicht gefunden“ Meldung erhalten, müssen Sie Git möglicherweise zu Ihrer $PATH Variable hinzufügen. Dies ist normalerweise ein Windows-Problem.
Lassen Sie uns das schnell beheben, damit Sie nicht lange suchen müssen.
- Gehen Sie zur Startleiste und klicken Sie mit der rechten Maustaste auf Dieser PC.
- Wählen Sie Eigenschaften.
- Klicken Sie auf Erweiterte Systemeinstellungen.
- Klicken Sie unter Systemeigenschaften auf Umgebungsvariablen. Hier können Sie Werte zur $PATH Variable hinzufügen.
- Wählen Sie $PATH und klicken Sie auf Bearbeiten.
- Klicken Sie auf Neu und fügen Sie einen Pfad zu git/cmd hinzu.
- Klicken Sie auf Neu und fügen Sie den Pfad zur git.exe-Datei hinzu.
Speichern Sie die Änderungen, kehren Sie zum Terminal zurück und führen Sie erneut den Befehl git -version aus.
git -version
Jetzt sollte die Versionsnummer zurückgegeben werden. Nachdem Sie die Vorarbeiten erledigt und Ihr GitHub- oder Gitlab-Konto eingerichtet haben, sollten Sie jetzt einsatzbereit sein.
Ein Git-Projekt erstellen
In diesem Abschnitt werde ich Sie durch die verschiedenen erforderlichen Schritte zur Erstellung eines neuen Repositorys führen.
Auf Ihrem neu erstellten GitHub-Konto klicken Sie auf der linken Seite des Bildschirms auf Neu.

Dann müssen Sie Ihrem Repository einen Namen geben und einige andere Details ausfüllen. Geben Sie eine kurze Beschreibung ein, machen Sie es öffentlich, und bewährte Praxis ist es, immer eine ReadMe-Datei hinzuzufügen. Wenn Sie fertig sind, klicken Sie auf Repository erstellen.

Um nun in Ihrem Code-Editor arbeiten zu können, möchten Sie Ihr neues Repository klonen, indem Sie auf die Klonen-Schaltfläche klicken. Wählen Sie HTTPS, kopieren Sie die Adresse und öffnen Sie Ihr Terminal.

Verwenden Sie im Terminal den cd-Befehl, um festzulegen, wo Sie ein neues Verzeichnis für Ihr Projekt erstellen möchten.
cd user/desktop/repo/
Wenn Sie im richtigen Zweig sind, verwenden Sie den mkdir-Befehl, um ein neues Verzeichnis zu erstellen:
mkdir <name of your directory>
Jetzt verwenden wir erneut den cd-Befehl, um in das neu erstellte Verzeichnis zu wechseln:
cd <name of your newly created directory>
Wenn Sie sich in Ihrem neuen Verzeichnis befinden, verwenden Sie den Befehl git init, um ein neues Repository zu erstellen:
git init
Verwenden Sie als nächstes den Befehl git clone mit der richtigen HTTPS-Adresse und drücken Sie die Eingabetaste. Standardmäßig wird dadurch ein Hauptzweig in Ihrem lokalen Repository erstellt.
git clone <paste https address here>
Öffnen Sie nun Ihr neu geklontes Repository mit Visual Studio Code. Sie können jetzt mit dem Schreiben von Code beginnen.
Nachdem Sie Ihr Repository erstellt haben, befinden Sie sich bereits im Hauptzweig. Als bewährte Praxis sollten Sie niemals Code direkt in den Hauptzweig pushen, der geschützt werden muss.
Für dieses Tutorial werden wir uns nicht mit geschützten Git-Zweigen befassen. Aber in der Praxis werden Sie niemals in der Lage sein, Code in den Hauptzweig zu pushen, ohne vorher einen Pull-Request zu stellen.
Erstellen eines weiteren Git-Zweigs
Wir befinden uns derzeit im Hauptzweig, Sie haben etwas codiert, um einige Inhalte zu erstellen, und jetzt möchten Sie einen neuen Zweig erstellen.
In Ihrem Terminal verwenden Sie den git checkout-Befehl, um einen neuen Zweig zu erstellen und automatisch zu diesem zu wechseln:
git checkout -b <name of new branch>
Der Befehl sollte diesen neuen Zweig automatisch von Ihrem Hauptzweig abzweigen, sodass der Code des Letzteren nicht geändert wird.
Jetzt kommt der unterhaltsame Teil, bei dem wir den git merge-Befehl verwenden können. In Ihrem neu erstellten Zweig müssen Sie zuerst mehr Code hinzufügen, damit Ihr aktueller Zweig vor dem Hauptzweig mit neuen Änderungen liegt.
Nun, da Sie diesen neuen Zweig in den Hauptzweig mergen möchten, können Sie auf ein Merge-Konflikt stoßen, was eine Code-Einfügung ist, die mit bereits vorhandenem Code in Konflikt steht. Es macht wirklich keinen Spaß, mit diesen umzugehen.
Also, was machst du? Lass uns sehen, wie man einen Zweig in den anderen zusammenführt.
Zusammenführen Ihrer beiden Git-Zweige im lokalen Repository
Wenn Sie sich auf Ihrem neuen Zweig befinden, gehen Sie zu Ihrem Terminal und verwenden Sie den git branch Befehl, um den Namen des Zweiges zu überprüfen, auf dem Sie sich befinden:
git branch
Sie befinden sich jetzt auf Ihrem neuen Zweig. Verwenden Sie erneut den git checkout Befehl, um zum Hauptzweig zu wechseln:
git checkout Main
Verwenden Sie anschließend den git pull Befehl, um etwaige Änderungen zu importieren, die Ihr Team vorgenommen haben könnte, und um Ihren lokalen Hauptzweig auf den neuesten Stand zu bringen:
git pull
Wechseln Sie nun erneut mit git checkout zum neuen Zweig, den Sie mit dem Hauptzweig zusammenführen möchten:
git checkout <your specified branch>
Es ist jetzt an der Zeit, den git merge Befehl zu verwenden. Dadurch wird die aktuelle Version Ihres Hauptzweigs genommen und dann in Ihren Entwicklungszweig fusioniert:
git merge Main
Das Zusammenführungsergebnis wird die neueste Version des Codes sowie das von Ihnen entwickelte Feature enthalten.
Weitere Möglichkeiten, Git-Zweige zusammenzuführen
Nachdem wir Ihnen gezeigt haben, wie Sie einen neuen Zweig mit unserem Hauptzweig zusammenführen, schauen wir uns andere Möglichkeiten an, Git-Zweige zusammenzuführen, die Sie möglicherweise benötigen.
Was ist ein Fast-Forward-Merge?
A fast-forward merge is another way to merge multiple commits on one branch with one command rather than merging them all manually. Another advantage of using a fast-forward merge is that it will combine the histories of multiple commits while squashing the commit history.
Angenommen, wir haben einen Feature-Zweig, der mehrere Commits vor dem Hauptzweig liegt. Wir möchten alle diese Commits zusammenführen, ohne sie manuell einzeln zusammenführen zu müssen. In diesem Fall werden wir einen Fast-Forward-Merge verwenden.
In unserem Beispiel werden wir damit beginnen, etwas Code zu schreiben und einen neuen Commit zu unserem Branch mit den Befehlen git add und git commit hinzuzufügen:
git add <filename>
git commit –m “added a thing”
Als nächstes werden wir einen weiteren Commit zu unserem neuen Branch hinzufügen, indem wir erneut die gleichen Befehle verwenden:
git add <filename>
git commit –m “added another thing”
Als Nächstes möchten wir diese beiden Commits in unser entferntes Repository übertragen, ohne zwei Pushes durchführen zu müssen. Dafür müssen wir das –ff beim git merge-Befehl verwenden
git merge --ff
Dadurch werden beide Commits gleichzeitig zusammengeführt und Ihr Code holt den Hauptzweig ein.
Was ist ein 3-Wege-Merge?
Stellen Sie sich vor, Ihr Entwicklungsteam hat neue Funktionen auf zwei separaten Branches erstellt. Sie sind jetzt bereit, die Branches zu aktualisieren und in den Hauptzweig zusammenzuführen, damit dieser bereit ist, Code in ein entferntes Repository zu übertragen.
Um sicherzustellen, dass die neuen Funktionen korrekt zusammenarbeiten, ist es eine gute Idee, die Feature-Zweige zunächst miteinander zu fusionieren und dann einige Tests durchzuführen. Ein 3-Wege-Merge ermöglicht es uns, zwei separate Branches mit ihrem gemeinsamen Vorfahren zu kombinieren.
Lassen Sie uns die Schritte durchgehen, die für einen 3-Wege-Merge zum Zielzweig erforderlich sind. Im folgenden Beispiel werden wir damit beginnen, einen neuen Branch zu erstellen, zwei Commits hinzuzufügen und diesen mit unserem Haupt-Branch mithilfe eines 3-Wege-Merges zu kombinieren.
Zuerst erstellen wir einen ’neue-funktion‘-Branch und wechseln automatisch mit dem Git-Befehl checkout zu ihm. Durch die Angabe von -b bei diesem Befehl wird ein neuer Branch erstellt.
git checkout -b new-feature main
Als Nächstes fügen wir einige Dateien und einen neuen Commit zu unserem Branch mit den folgenden Befehlen hinzu:
git add <file>
git commit -m "Start a feature"
Dann fügen wir einen weiteren Commit zu unserem neuen Branch mit den folgenden Befehlen hinzu:
git add <file>
git commit -m "Finish a feature"
Nachdem wir neuen Code zu unserem neuen Branch hinzugefügt haben, müssen Sie sich eine Situation vorstellen, in der unser Haupt-Branch ebenfalls weiter fortschreitet. Wir wechseln zuerst mit dem Git-Befehl checkout zurück zu ihm:
git checkout main
Als Nächstes fügen wir einen neuen Commit zu unserem Haupt-Branch hinzu:
git add <file>
git commit -m "make some changes to Main"
Jetzt möchten wir den ’neue-funktion‘-Branch, den wir zuvor erstellt haben, mit unserem aktualisierten Haupt-Branch zusammenführen. Da die Arbeit an unserem Haupt-Branch fortgesetzt wird, beenden wir damit, den ’neue-funktion‘-Branch mit dem Befehl git branch zu löschen.
git merge new-feature
git branch -d new-feature
Jetzt haben wir unsere beiden Branches mit einem gemeinsamen Vorfahren in unseren Haupt-Branch zusammengeführt. Letzterer ist jetzt bereit, in Ihr Remote-Repository gemergt zu werden und unser Softwareprojekt weiter zu erhöhen. Als Nächstes werden wir sehen, wie das gemacht wird.
Wie man einen Git-Branch mit einem Remote-Repository zusammenführt
Manchmal ist es notwendig, einen Zweig in ein entferntes Repository zu fusionieren. Lassen Sie uns die Schritte durchgehen, wie Sie das erreichen können.
Stellen Sie sich eine Situation vor, in der Sie neuen Code für eine neue Funktion geschrieben haben, die Ihr Produktbesitzer erstellen wollte. Nachdem Sie Ihren Code getestet und dann mit Ihrem Produktbesitzer überprüft haben, sind Sie nun bereit, Ihre Arbeit in das entfernte Repository Ihres Teams zu fusionieren.
Wie bereits erwähnt, dürfen Sie Ihren Code niemals direkt in den Hauptzweig schieben. Sie müssen immer den Git-Workflow respektieren, den wir zu Beginn dieses Leitfadens detailliert beschrieben haben.
Nachdem wir den Git-Prozess überprüft haben, lassen Sie uns Ihren Code fusionieren. Dort setzen wir an, wo wir aufgehört haben: Wir haben jetzt einen aktueller Zweig, die neuesten Aktualisierungen des Hauptzweigs wurden in Ihr lokales Repository heruntergeladen.
Sie stehen jetzt vor den Toren des entfernten Repositories. Wie kommen Sie dorthin? Ganz einfach, wir werden einige weitere Git-Befehle verwenden.
Als bewährte Praxis sollten Sie Ihren Zweigstatus immer mit dem Befehl git status überprüfen. Dieser Befehl zeigt an, welche Dateien hinzugefügt, entfernt, verfolgt oder nicht verfolgt wurden.
git status
Sie sollten auch prüfen, ob Sie Dateien hinzugefügt haben, die nicht verfolgt werden. In diesem Fall müssen Sie sie hinzufügen, damit sie verfolgt und dem Commit hinzugefügt werden.
Sie können den Befehl git add verwenden, um alle von Ihnen erstellten Dateien in Ihrer Entwicklung hinzuzufügen. Möglicherweise müssen Sie einige Dateinamen angeben, wenn Sie nur bestimmte Dateien hinzufügen möchten. Wenn Sie alle Dateien hinzufügen möchten, verwenden Sie „.“.
Anschließend verwenden wir den Befehl git commit, um alle Dateien zu bestätigen, die wir im vorherigen Schritt hinzugefügt haben. Sie müssen die -m-Flagge verwenden, um eine Nachricht zu schreiben, ansonsten werden Sie in den Texteditor-Modus geschaltet, um eine Nachricht zu schreiben, was kein einfacher Prozess ist.
Für Ihre Nachricht können Sie eine kurze Notiz darüber schreiben, was Sie getan haben. Zum Beispiel „eine neue coole Funktion erstellt, ein neues Symbol zum Menü hinzugefügt und Fehlerkorrekturen vorgenommen.“
git commit -m “<your commit message goes here>”
Abschließend können Sie den Befehl git push verwenden, um Ihren Branch zum Remote-Repository hochzuladen.
git push --set-upstream origin <<your branch name>>
Nachdem Sie Ihren Branch gepusht haben, müssen Sie zu GitHub oder zu dem Ort gehen, an dem Ihre Remote-Repositories gehostet sind, um Ihren letzten Push zu finden, und auf Pull-Request erstellen klicken.

Wenn Sie auf diesen Button klicken, gelangen Sie zu einer Seite, auf der Sie Reviewer und Mitglieder Ihres Teams hinzufügen können, die Ihren Merge-Request genehmigen oder ablehnen werden. Im zweiten Fall können sie Kommentare dazu abgeben, was vor der Möglichkeit, Ihren Branch in den Remote-Hauptbranch zu integrieren, behoben werden muss.

Sobald die Überprüfung abgeschlossen ist und Ihr Merge-Anforderung genehmigt wurde, wird die Schaltfläche Merge verfügbar sein. Klicken Sie auf diese Schaltfläche, um den Merge-Vorgang zu starten. Wenn der Merge erfolgreich ist, erhalten Sie eine Nachricht, die bestätigt, dass Ihr neuer Code hinzugefügt wurde.

Herzlichen Glückwunsch! Sie haben die Grundlagen für die Verwendung des Git-Merge-Befehls verstanden!
Abschluss
Git merge ist ein leistungsstarker Befehl, der es Ihnen und Ihrem Team ermöglicht, verschiedene Branches für die Arbeit an neuen Funktionen zu verwenden und sie dann in Ihr Haupt-Repository zusammenzuführen.
Sie haben die erforderlichen Schritte gelernt, um Branches zu erstellen, sie zu mergen, Dateien und Commits hinzuzufügen und vor allem diese Branches in ein Remote-Repository zu pushen. Darüber hinaus verstehen Sie nun, wie Sie mit einem Fast-Forward-Merge mehrere verwandte Branches mit einem Befehl zusammenführen können, was die Entwicklung effizienter machen kann.
Git ist ein leistungsstarkes Werkzeug, das viel kann. Je mehr Sie über die verschiedenen Befehle lernen, die Sie verwenden können, desto besser werden Sie als Entwickler. Nachdem Sie nun alles über das Zusammenführen von Branches gelernt haben, ist es an der Zeit, andere Befehle zu erlernen. Viel Erfolg auf Ihrer Reise, Git zu beherrschen!