Git: Unterschied zwischen ‘git pull’ und ‘git fetch’

By

in

Git stellt verschiedene Befehle bereit, um die Daten eines Repositories mit dem lokalen Stand abzugleichen. Dazu gehören unter anderen git pull und git fetch. Beide Befehle holen Daten vom entfernten Repository, besitzen aber einen kleinen Unterschied.

Kurz gesagt: git pull führt ein git fetch und anschließend ein git merge aus.

Ein git fetch kann man zu jeder Zeit machen, um die lokalen Branches zu aktualisieren und mit den entfernten Branches (origin, remote) abzugleichen. Diese Operation ändert dabei keine lokalen Branches, sie zeigt lediglich an, wenn Änderungen verfügbar sind. Man kann git fetch also bedenkenlos ausführen, ohne die lokale Arbeitskopie zu ändern.

Ein git pull führt ein git fetch und anschließend ein git merge aus. git pull wird dabei immer in den aktuellen Branch der Arbeitskopie mergen. Man wählt sich also den Branch aus, von dem man pullen möchte und pullt diesen (überführt dessen Änderungen) in den aktuellen Branch.

Ein git pull ist das, was man tun muss, um einen lokalen Branch auf den Stand des dazugehörigen entfernten Branch zu bringen.

Git documentation: git pullfetchmerge



Comments

One response to “Git: Unterschied zwischen ‘git pull’ und ‘git fetch’”

Leave a Reply

Your email address will not be published. Required fields are marked *