Änderungen von einem Remote-Repository abrufen
Für den Zugriff auf Remote-Repositorys können Sie die gängigen Git-Befehle verwenden.
Inhalt dieses Artikels
- Ein Repository klonen
- Änderungen von einem Remote-Repository mit
git fetch
abrufen - Änderungen in Ihren lokalen Branch mergen
- Änderungen von einem Remote-Repository mit
git pull
abrufen - Weiterführende Informationen
Diese Befehle sind bei der Interaktion mit einem Remote-Repository sehr hilfreich. Mit clone
und fetch
können Sie Remote-Code von der Remote-URL eines Repositorys auf Ihren lokalen Computer herunterladen. Der Befehl merge
dient zum Mergen der Arbeit verschiedener Benutzer mit Ihrer eigenen Arbeit, und pull
ist eine Kombination aus fetch
und merge
.
Ein Repository klonen
Um eine vollständige Kopie eines Repositorys eines anderen Benutzers zu bekommen, verwenden Sie git clone
wie folgt:
$ git clone https://Hostname/USERNAME/REPOSITORY.git
# Klont ein Repository auf Ihren Computer
Beim Klonen eines Repositorys stehen mehrere unterschiedliche URLs zur Auswahl. Wenn Sie bei GitHub angemeldet sind, finden Sie diese URLs unter den Repository-Details:
Wenn Sie git clone
ausführen, werden die folgenden Aktionen ausgeführt:
- Ein neuer Ordner mit dem Namen
repo
wird erstellt. - Er wird als Git-Repository initialisiert.
- Ein Remote-Repository mit dem Namen
origin
wird erstellt. Es verweist auf die URL, von der Sie den Klon erstellt haben. - Alle Dateien und Commits des Repository werden dorthin heruntergeladen.
- Der Standardbranch (der für gewöhnlich
master
heißt) wird ausgecheckt.
Für jeden Branch foo
im Remote-Repository wird in Ihrem lokalen Repository ein entsprechender Remote-Tracking-Branch refs/remotes/origin/foo
angelegt. Normalerweise können Sie die Namen solcher Remote-Tracking-Branches auf origin/foo
verkürzen.
Änderungen von einem Remote-Repository mit git fetch
abrufen
Mit git fetch
können Sie neue Arbeiten von anderen Benutzern abrufen. Dabei werden alle neuen Remote-Tracking-Branches und Tags vom Repository abgerufen, ohne dass diese Änderungen in Ihre eigenen Branches gemerget werden.
Wenn Sie bereits ein lokales Repository mit einer Remote-URL für das gewünschte Projekt eingerichtet haben, können Sie alle neuen Informationen über das Terminal mit dem Befehl git fetch *remotename*
abrufen:
$ git fetch remotename
# Ruft Änderungen eines Remote-Repositorys ab
Andernfalls können Sie immer ein neues Remote-Repository hinzufügen und dann den Abrufvorgang ausführen.
Änderungen in Ihren lokalen Branch mergen
Beim Mergen werden Ihre lokalen Änderungen mit den Änderungen anderer Benutzer zusammengeführt.
In der Regel mergen Sie einen Remote-Tracking-Branch (d. h. einen Branch, der aus einem Remote-Repository abgerufen wurde) mit Ihrem lokalen Branch:
$ git merge remotename/branchname
# Merget die online vorgenommenen Änderungen mit Ihren lokalen Änderungen
Änderungen von einem Remote-Repository mit git pull
abrufen
Der Befehl git pull
ist eine praktische Abkürzung, um sowohl git fetch
als auch git merge
in einem einzigen Befehl auszuführen:
$ git pull remotename branchname
# Ruft Online-Aktualisierungen ab und merget sie mit Ihren lokalen Änderungen
Da pull
das Mergen der abgerufenen Änderungen auslöst, sollten Sie sicherstellen, dass Ihre lokalen Änderungen committet wurden, bevor Sie den Befehl pull
ausführen. Wenn ein Mergekonflikt auftritt, den Sie nicht beheben können, oder Sie den Merge-Vorgang abbrechen möchten, können Sie mit dem Befehl git merge --abort
den Branch auf den Zustand zurücksetzen, den er vor dem Abrufvorgang hatte.