So synchronisierst du deinen lokalen Git-Branch mit dem Remote-Repository

Die Übereinstimmung deines lokalen Git-Branches mit dem entfernten Repository ist bei der Zusammenarbeit im Team entscheidend. Regelmäßiges Aktualisieren stellt sicher, dass deine Arbeit auf dem neuesten Stand basiert und Konflikte vermieden werden. Du kannst dies entweder manuell über zwei Befehle oder automatisiert mit nur einem Befehl durchführen.

In dieser Anleitung lernst du, wie du mit git fetch Änderungen vom Remote abrufst, mit git merge in deinen lokalen Branch übernimmst und mit git pull beide Schritte in einem Durchgang erledigst. Vor dem Pushen deiner Änderungen solltest du den aktuellen Stand einholen, um reibungslos im Team arbeiten zu können.

Schnellstart

Verwende einen der folgenden Git-Befehle, um Updates aus einem entfernten Repository abzurufen:

Methode 1: Änderungen abrufen, aber nicht zusammenführen

Methode 2: Abgerufene Änderungen manuell zusammenführen

$ git merge <remote>/<branch>

Methode 3: Änderungen abrufen und direkt zusammenführen

$ git pull <remote> <branch>

Du kannst somit selbst entscheiden, ob du die Änderungen erst prüfen oder direkt integrieren möchtest.

Verwendung von Git Fetch

Der Befehl git fetch lädt Änderungen vom Remote herunter, ohne deine aktuelle Arbeitsumgebung zu verändern. Ideal, wenn du erst prüfen willst, was sich geändert hat, bevor du diese Änderungen übernimmst.

Syntax

git fetch [<optionen>] <remote> [<branch>]

  • <remote>: Bezeichner des Remote-Repositories (z. B. origin).
  • <branch> (optional): Der spezifische Branch, den du abrufen möchtest.
  • <optionen>: Zusätzliche Flags zur Steuerung des Befehls.

Häufig genutzte Optionen

  • git fetch <remote>: Holt alle Branches vom angegebenen Remote.
  • git fetch <remote> <branch>: Ruft einen bestimmten Branch ab.
  • git fetch --all: Holt alle Daten von allen Remotes.
  • git fetch --prune: Entfernt veraltete Remote-Referenzen.
  • git fetch --dry-run: Zeigt an, was abgerufen würde, führt aber nichts aus.
  • git fetch --depth=<n>: Holt nur die letzten n Commits (shallow fetch).
  • git fetch --tags: Lädt alle Tags vom Remote.
  • git fetch --no-tags: Überspringt das Laden von Tags.
  • git fetch --force: Überschreibt lokale Tracking-Branches mit Remote-Versionen.

Beispiel: Abrufen vom Remote

Prüfe zunächst, welcher Remote konfiguriert ist:

Beispielausgabe:

origin  https://github.com/example/sample-project.git (fetch)
origin  https://github.com/example/sample-project.git (push)

Hole die neuesten Daten vom Branch main:

Status deines Branches prüfen:

Falls dein Branch hinter dem Remote liegt, erscheint etwa diese Meldung:

Dein Branch liegt 3 Commits hinter „origin/main“ zurück …

Untersuche die abgerufenen Commits:

Verwendung von Git Merge

Mit git merge integrierst du Änderungen aus einem anderen Branch in deinen aktuellen Branch. Nutze diesen Befehl, um nach einem Fetch oder beim Zusammenführen von Feature-Branches zu arbeiten.

Syntax

git merge [<optionen>] <branch>

  • <branch>: Der Branch, der in den aktiven Branch gemerged werden soll (z. B. origin/main).

Typische Optionen

  • --no-ff: Erstellt immer einen Merge-Commit, selbst wenn ein Fast-Forward möglich wäre.
  • --ff: Erlaubt Fast-Forward-Merges.
  • --ff-only: Führt den Merge nur durch, wenn ein Fast-Forward möglich ist.
  • --squash: Kombiniert alle Commits in einen einzigen, ohne Merge-Commit zu erzeugen.
  • --abort: Bricht einen laufenden Merge ab.
  • --no-commit: Führt den Merge durch, stoppt aber vor dem Commit.
  • --edit: Öffnet den Editor für die Commit-Nachricht.
  • --allow-unrelated-histories: Erlaubt das Mergen von Projekten mit getrennten Historien.
  • --quiet: Reduziert die Ausgabe auf das Wesentliche.
  • --stat: Zeigt eine Zusammenfassung der Änderungen nach dem Merge.

Beispiel: Zusammenführen eines abgerufenen Branches

Prüfe, auf welchem Branch du dich aktuell befindest:

Führe die Änderungen aus dem Remote-Branch zusammen:

Überprüfe anschließend, ob die Zusammenführung erfolgreich war:

Verwendung von Git Pull

git pull kombiniert das Abrufen und das Zusammenführen in einem einzigen Schritt. Diese Methode eignet sich, um deinen Branch schnell zu aktualisieren, bevor du neue Commits erstellst oder pushst.

Syntax

git pull [<optionen>] <remote> <branch>

Gängige Optionen

  • --rebase: Spielt lokale Commits nach dem Abrufen erneut auf.
  • --no-rebase: Führt ein klassisches Merge statt Rebase durch.
  • --ff: Aktiviert Fast-Forward, wenn möglich.
  • --ff-only: Bricht ab, wenn kein Fast-Forward möglich ist.
  • --no-commit: Führt das Merge durch, ohne direkt zu committen.
  • --no-ff: Erzwingt immer einen Merge-Commit.
  • --verbose: Zeigt ausführliche Informationen während des Prozesses.
  • --quiet: Minimiert die Ausgaben auf Fehler.
  • --all: Ruft alle Remotes gleichzeitig ab.
  • --allow-unrelated-histories: Erlaubt das Zusammenführen unabhängig voneinander entwickelter Projekte.
  • --no-stat: Unterdrückt die Übersicht der Änderungen.

Beispiel: Änderungen mit Git Pull abrufen

Prüfe den aktuellen Branch:

Hole die neuesten Änderungen vom Remote:

Dieser Befehl führt intern folgendes aus: git fetch gefolgt von git merge.

Überprüfe nach dem Pull den aktuellen Status:

Merge-Konflikte lösen

Wenn lokale und entfernte Änderungen kollidieren, informiert Git dich mit einer Meldung wie:

Unzusammengeführte Pfade vorhanden. (Konflikte beheben und „git commit“ ausführen)

Zur Konfliktlösung kannst du:

  • git pull --no-rebase origin main verwenden, um nach dem Lösen der Konflikte normal zu mergen.
  • git pull --rebase origin main nutzen, um deine lokalen Commits oben auf den Remote-Stand zu setzen.

Nach der Konfliktbehebung

Füge die gelösten Dateien zur Staging-Area hinzu:

Dann committen:

Oder im Falle eines Rebase-Vorgangs:

Fazit

Du hast nun gelernt, wie du mit git fetch, git merge und git pull deinen lokalen Git-Branch auf dem aktuellen Stand hältst. Ob du den manuellen Weg bevorzugst oder die automatische Variante – diese Methoden helfen dir, Konflikte zu vermeiden und mit einem sauberen Repository zu arbeiten.

Für den nächsten Schritt in deinem Git-Workflow solltest du dir anschauen, wie man Änderungen effizient commitet.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: