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.

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:
- 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
git remote add <name> <url>- Führe den folgenden Befehl aus, um die Verbindung zum Remote-Repository zu entfernen, das
<name>heißt.
git remote rm
git remote rm <name>- Führe den folgenden Befehl aus, um eine Remote-Verbindung umzubenennen:
git remote rename
git remote rename <old> <new>- Verwende den folgenden Befehl, um die URL eines vorhandenen Remotes zu ändern:
git remote set-url
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
http://host/path/to/repo.gitVerwende 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
ssh://user@host/path/to/repo.gitDu kannst auch die weit verbreitete SCP-ähnliche Syntax verwenden:
user@host:path/to/repo.gitGit-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.
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.
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.
git remote rm <name>git remote set-url <name> <new-url>
Ändert die URL eines vorhandenen Remote-Eintrags in ./.git/config.
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.
git remote get-url <name>git remote show <name>
Gibt detaillierte Informationen über das Remote <name> aus.
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.
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>
git remote add tom http://dev.example.com/tom.gitDeine 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
git remote
origin
upstream
other_repoDu 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
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
git remote add fake_test https://example.com/upstream_user/reponame.gitEinen Remote untersuchen
Das Anhängen des Unterbefehls show liefert detaillierte Konfigurationsausgaben, einschließlich verbundener Branches und Fetch-/Push-Endpunkte.
git remote show
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>
git push <remote-name> <branch-name>Practice
What are the correct statements about the `git remote` command as described in the W3Docs Git Tutorial?