Zum Inhalt springen

git remote

Definition

Der Befehl git remote dient zum Erstellen, Anzeigen und Entfernen von Verbindungen zu anderen Repositories. Remote-Verbindungen fungieren als Lesezeichen für andere Repositories und bieten praktische Namen, um auf URLs zu verweisen, die sonst umständlich wären.

Das folgende Diagramm zeigt zwei Remote-Verbindungen: eine zu einem zentralen Repository und eine zu einem Repository eines anderen Entwicklers. Du kannst den Remote-Namen mit einem anderen Entwickler teilen, sodass dieser ihn als Abkürzung in anderen Git-Befehlen verwenden kann. Dadurch musst du die Verbindungen nicht über ihre vollständigen URLs angeben.

git remote

Erstellen und Bearbeiten von git-remote-Konfigurationen

Der Befehl git remote wird auch zum Bearbeiten der Datei ./.git/config des Repositories verwendet. Du kannst dies ausführen, indem du die folgenden Befehle verwendest:

  1. Verwende den folgenden Befehl, um eine neue Remote-Verbindung zu einem Remote-Repository hinzuzufügen. Danach kannst du <name> als passende Abkürzung für <url> in anderen Git-Befehlen verwenden.

git remote add

bash
git remote add <name> <url>
  1. Führe den folgenden Befehl aus, um die Verbindung zum Remote-Repository zu entfernen, das <name> heißt.

git remote rm

bash
git remote rm <name>
  1. Führe den folgenden Befehl aus, um eine Remote-Verbindung umzubenennen:

git remote rename

bash
git remote rename <old> <new>
  1. Verwende den folgenden Befehl, um die URL eines vorhandenen Remotes zu ändern:

git remote set-url

bash
git remote set-url <name> <new-url>

Du kannst dasselbe Ergebnis erzielen, indem du die Datei ./.git/config direkt mit einem Texteditor bearbeitest.

Der Remote origin

Die Ausführung des Befehls git clone erstellt automatisch eine Remote-Verbindung mit dem Namen origin, die auf das geklonte Repository verweist. Eine lokale Kopie erleichtert es, Änderungen aus dem Upstream abzurufen oder lokale Commits zu veröffentlichen. Deshalb heißt das zentrale Repository in vielen Projekten origin.

Repository-URLs

Es gibt viele Möglichkeiten, auf ein Remote-Repository zu verweisen, aber die beiden einfachsten gelten als die über die Protokolle HTTPS und SSH. HTTPS-URLs werden häufig für schreibgeschützten Zugriff oder in Kombination mit Credential-Helpern oder Personal Access Tokens zur Authentifizierung verwendet.

HTTPS-URL-Format

bash
http://host/path/to/repo.git

Verwende SSH für Lese- und Schreibzugriff. Du benötigst ein gültiges SSH-Konto. Beachte, dass die Zugriffsanforderungen von den Berechtigungen des Repositories abhängen; öffentliche Repositories erlauben Zugriff ohne Authentifizierung, private erfordern Authentifizierung. Moderne sichere Hosting-Lösungen von Drittanbietern, zum Beispiel Bitbucket.com, können solche URLs bereitstellen:

SSH-URL-Format

bash
ssh://user@host/path/to/repo.git

Du kannst auch die weit verbreitete SCP-ähnliche Syntax verwenden:

bash
user@host:path/to/repo.git

Git-remote-Unterbefehle

Der Befehl git remote hat eigene Unterbefehle. Wir werden sie unten untersuchen.

git remote add <name> <url>

Fügt der Datei ./.git/config einen Eintrag für ein Remote mit dem Namen <name> hinzu, das auf <url> verweist. Akzeptiert die Option -f, die unmittelbar nach dem Erstellen des Remote-Eintrags git fetch <name> ausführt. Eine weitere von diesem Unterbefehl akzeptierte Option ist --tags, die sofort git fetch <name> ausführt und alle Tags aus dem Remote-Repository importiert.

bash
git remote add <name> <url>

git remote rename <old> <new>

Aktualisiert ./.git/config, um <old> in <new> umzubenennen. Alle Konfigurationseinstellungen und Branches für das Remote werden entsprechend aktualisiert.

bash
git remote rename <old> <new>

git remote remove or rm

Entfernt das Remote mit dem Namen <name> aus ./.git/config. Alle zugehörigen Konfigurationseinstellungen und Branches werden entfernt.

bash
git remote rm <name>

git remote set-url <name> <new-url>

Ändert die URL eines vorhandenen Remote-Eintrags in ./.git/config.

bash
git remote set-url <name> <new-url>

git remote get-url <name>

Gibt die URLs für einen Remote-Eintrag aus. Dieser Unterbefehl akzeptiert die Optionen --push und --all.

bash
git remote get-url <name>

git remote show <name>

Gibt detaillierte Informationen über das Remote <name> aus.

bash
git remote show <name>

git remote prune <name>

Löscht Remote-Tracking-Branches für <name>, die auf dem Remote nicht mehr existieren. Dieser Unterbefehl akzeptiert die Option --dry-run, die die Branches auflistet, die zum Entfernen markiert wurden, sie aber tatsächlich nicht entfernt.

bash
git remote prune <name>

Git-remote-Beispiele

Die Verbindung zu Repositories anderer Entwickler ermöglicht Zusammenarbeit außerhalb des zentralen Repositories. Wenn beispielsweise ein Kollege ein öffentlich zugängliches Repository unter dev.example.com/tom.git verwaltet, kannst du es wie folgt hinzufügen:

git remote add <name> <url>

bash
git remote add tom http://dev.example.com/tom.git

Deine Remotes anzeigen

Standardmäßig listet git remote alle konfigurierten Remote-Verbindungen auf. Die Ausgabe zeigt für jedes Lesezeichen-Repository eine einzelne Zeile.

der Befehl git remote

bash
git remote
origin
upstream
other_repo

Du kannst den Befehl git remote mit der Option -v aufrufen, die die Namen der Lesezeichen-Repositories zusammen mit der URL des entsprechenden Repositories auflistet.

git remote -v

bash
git remote -v
origin      [email protected]:origin_user/reponame.git (fetch)
origin      [email protected]:origin_user/reponame.git (push)
upstream    https://example.com/upstream_user/reponame.git (fetch)
upstream    https://example.com/upstream_user/reponame.git (push)
other_repo  https://example.com/other_repo/reponame.git (fetch)
other_repo  https://example.com/other_repo/reponame.git (push)

Remote-Repositories hinzufügen

Das Ausführen von git remote add erstellt einen neuen Verbindungsdatensatz in ./.git/config. Der <name> dient dann als Abkürzung für <url> in anderen Git-Befehlen.

git remote add example

bash
git remote add fake_test https://example.com/upstream_user/reponame.git

Einen Remote untersuchen

Das Anhängen des Unterbefehls show liefert detaillierte Konfigurationsausgaben, einschließlich verbundener Branches und Fetch-/Push-Endpunkte.

git remote show

bash
git remote show upstream
* remote upstream
Fetch URL: https://example.com/upstream_user/reponame.git
Push URL: https://example.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
 simd-deprecated tracked
 tutorial tracked
Local ref configured for 'git push':
 master pushes to master (fast-forwardable)

Von Git-Remotes abrufen und pullen

Sobald ein Remote konfiguriert ist, kann sein Name als Argument für andere Git-Befehle verwendet werden, um eine Kommunikation mit dem Remote-Repository herzustellen. Du kannst die Befehle git fetch und git pull verwenden, um aus einem Remote-Repository zu lesen.

Zu Git-Remotes pushen

Der Befehl git push schreibt in ein Remote-Repository.

git push <remote-name> <branch-name>

bash
git push <remote-name> <branch-name>

Practice

What are the correct statements about the `git remote` command as described in the W3Docs Git Tutorial?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.