# Änderungen von einem Remote-Repository abrufen

Für den Zugriff auf Remoterepositorys kannst du die gängigen Git-Befehle verwenden.

## Optionen zum Abrufen von Änderungen

Diese Befehle sind bei der Interaktion mit einem [Remoterepository](/de/enterprise-server@3.22/get-started/git-basics/about-remote-repositories) sehr hilfreich.
`clone` und `fetch` laden Remotecode über die Remote-URL eines Repositorys auf deinen lokalen Computer herunter. `merge` wird verwendet, um die Arbeit verschiedener Personen mit deiner Arbeit zusammenzuführen, und `pull` ist eine Kombination aus `fetch` und `merge`.

## Ein Repository klonen

Verwende `git clone` wie folgt, um eine vollständige Kopie eines Repositorys eines anderen Benutzers zu erhalten:

```shell
$ git clone https://HOSTNAME/USERNAME/REPOSITORY.git
# Clones a repository to your computer
```

Du kannst beim Klonen eines Repositorys unter mehreren verschiedenen URLs wählen. Während du bei GitHub angemeldet bist, sind diese URLs auf der Standardseite des Repositorys verfügbar, wenn du auf **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code" aria-label="code" role="img"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg> Code** klickst.

![Screenshot der Hauptseite eines Repositorys. Die grüne Schaltfläche „Code“ ist orange umrandet und erweitert, um die HTTPS-URL für das Repository anzuzeigen.](/assets/images/help/repository/remotes-url-global-nav-update.png)

Mit `git clone` werden die folgenden Aktionen ausgeführt:

* Ein neuer Ordner mit dem Namen `repo` wird erstellt.
* Er wird als Git-Repository initialisiert.
* Ein Remote mit dem Namen `origin` wird erstellt, das dabei auf die URL verweist, von der du geklont hast.
* Alle Dateien und Commits des Repository werden dorthin heruntergeladen.
* Der Standardbranch ist ausgecheckt.

Für jeden `foo`-Branch im Remoterepository wird in deinem lokalen Repository ein entsprechender Remote-Tracking-Branch namens `refs/remotes/origin/foo` erstellt. Normalerweise kannst du die Namen solcher Remote-Tracking-Branches in `origin/foo` verkürzen.

## Änderungen von einem Remote-Repository mit git fetch abrufen

Verwende `git fetch`, um neue Arbeiten anderer Benutzer abzurufen. Dabei werden alle neuen Remote-Tracking-Branches und Tags vom Repository abgerufen, *ohne* dass diese Änderungen mit deinen eigenen Branches zusammengeführt werden.

Wenn du bereits ein lokales Repository mit einer Remote-URL für das gewünschte Projekt eingerichtet hast, kannst du alle neuen Informationen mit `git fetch *remotename*` über das Terminal abrufen:

```shell
$ git fetch REMOTE-NAME
# Fetches updates made to a remote repository
```

Andernfalls kannst du jederzeit eine neue Remote-URL hinzufügen und dann den Abruf starten. Weitere Informationen finden Sie unter [Remote-Repositorys verwalten](/de/enterprise-server@3.22/get-started/git-basics/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:

```shell
$ git merge REMOTE-NAME/BRANCH-NAME
# Merges updates made online with your local work
```

## Änderungen von einem Remote-Repository mit git pull abrufen

`git pull` ist eine praktische, schnelle Lösung, um sowohl `git fetch` als auch `git merge` im selben Befehl auszuführen:

```shell
$ git pull REMOTE-NAME BRANCH-NAME
# Grabs online updates and merges them with your local work
```

Da `pull` die abgerufenen Änderungen zusammenführt, solltest du sicherstellen, dass deine lokalen Änderungen committed wurden, bevor du den Befehl `pull` ausführst. Wenn ein [Mergekonflikt](/de/enterprise-server@3.22/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line) auftritt, den du nicht auflösen kannst, oder wenn du den Merge abbrechen möchtest, kannst du den Branch mit `git merge --abort` in den Zustand vor dem Pull zurückversetzen.

## Weitere Informationen

* ```
            [„Arbeiten mit Remoterepositorys“ aus dem _Pro Git_-Buch](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes)
  ```