Options for getting changes
Diese Befehle sind bei der Interaktion mit einem Remote-Repository sehr hilfreich. Mit clone
und fetch
kannst Du Remote-Code von der Remote-URL eines Repositorys auf Deinen lokalen Computer herunterladen. Der Befehl merge
dient zum Zusammenführen der Arbeit verschiedener Benutzer mit Deiner 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, verwende git clone
wie folgt:
$ git clone https://hostname/USERNAME/REPOSITORY.git
# Klont ein Repository auf Deinen 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 Du git clone
ausführst, 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 und es verweist auf die URL, von der Du den Klon erstellt hast. - Alle Dateien und Commits des Repository werden dorthin heruntergeladen.
- The default branch is checked out
Für jeden Branch foo
im Remote-Repository wird in Deinem lokalen Repository ein entsprechender Remote-Tracking-Branch refs/remotes/origin/foo
angelegt. Normalerweise kannst Du die Namen solcher Remote-Tracking-Branches auf origin/foo
verkürzen.
Änderungen von einem Remote-Repository mit git fetch
abrufen
Mit git fetch
kannst Du neue Arbeiten von anderen Benutzern abrufen. Dabei werden alle neuen Remote-Tracking-Branches und Tags vom Repository abgerufen, ohne dass diese Änderungen in Deine eigenen Branches zusammengeführt werden.
If you already have a local repository with a remote URL set up for the desired project, you can grab all the new information by using git fetch *remotename*
in the terminal:
$ git fetch remotename
# Ruft Änderungen eines Remote-Repositorys ab
Otherwise, you can always add a new remote and then fetch. For more information, see "Managing remote repositories."
Änderungen in Deinen lokalen Branch zusammenführen
Beim Zusammenführen (Merge) werden Deine lokalen Änderungen mit den Änderungen anderer Benutzer zusammengeführt.
In der Regel führst Du einen Remote-Tracking-Branch (d. h. einen Branch, der aus einem Remote-Repository abgerufen wurde) mit Deinem lokalen Branch zusammen:
$ git merge remotename/branchname
# Zusammenführen der online vorgenommenen Änderungen mit Deinen 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 führt sie mit Deinen lokalen Änderungen zusammen
Da pull
das Zusammenführen der abgerufenen Änderungen auslöst, solltest Du sicherstellen, dass Deine lokalen Änderungen freigegeben wurden, bevor Du den Befehl pull
ausführst. Wenn ein Mergekonflikt auftritt, den Du nicht beheben kannst, oder Du den Merge-Vorgang abbrechen möchtest, kannst Du mit dem Befehl git merge --abort
den Branch auf den Zustand zurücksetzen, den er vor dem Abrufvorgang hatte.