Einrichtung und Konfiguration
Projekte holen und erstellen
Grundlegende Snapshots
Branching und Merging
Projekte teilen und aktualisieren
Inspektion und Vergleich
Patching
Debugging
Externe Systeme
Server-Administration
Anleitungen
- gitattributes
- Konventionen der Kommandozeile
- Tägliches Git
- Häufig gestellte Fragen (FAQ)
- Glossar
- Hooks
- gitignore
- gitmodules
- Revisionen
- Submodule
- Tutorial
- Workflows
- Alle Anleitungen...
Administration
Plumbing-Befehle
- 2.45.1 → 2.52.0 keine Änderungen
-
2.45.0
2024-04-29
- 2.37.1 → 2.44.4 keine Änderungen
-
2.37.0
2022-06-27
- 2.36.1 → 2.36.6 keine Änderungen
-
2.36.0
2022-04-18
- 2.35.1 → 2.35.8 keine Änderungen
-
2.35.0
2022-01-24
- 2.30.1 → 2.34.8 keine Änderungen
-
2.30.0
2020-12-27
- 2.29.1 → 2.29.3 keine Änderungen
-
2.29.0
2020-10-19
- 2.23.1 → 2.28.1 keine Änderungen
-
2.23.0
2019-08-16
- 2.18.1 → 2.22.5 keine Änderungen
-
2.18.0
2018-06-21
- 2.17.1 → 2.17.6 keine Änderungen
-
2.17.0
2018-04-02
- 2.10.5 → 2.16.6 keine Änderungen
-
2.9.5
2017-07-30
- 2.8.6 keine Änderungen
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
- 2.4.12 → 2.5.6 keine Änderungen
-
2.3.10
2015-09-28
- 2.1.4 → 2.2.3 keine Änderungen
-
2.0.5
2014-12-17
SYNOPSIS
git remote [-v | --verbose] git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <name> <URL> git remote rename [--[no-]progress] <old> <new> git remote remove <name> git remote set-head <name> (-a | --auto | -d | --delete | <branch>) git remote set-branches [--add] <name> <branch>… git remote get-url [--push] [--all] <name> git remote set-url [--push] <name> <newurl> [<oldurl>] git remote set-url --add [--push] <name> <newurl> git remote set-url --delete [--push] <name> <URL> git remote [-v | --verbose] show [-n] <name>… git remote prune [-n | --dry-run] <name>… git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…]
BEFEHLE
Ohne Argumente wird eine Liste der vorhandenen Remotes angezeigt. Mehrere Unterbefehle stehen zur Verfügung, um Operationen an den Remotes auszuführen.
- add
-
Fügt ein Remote namens <name> für das Repository unter <URL> hinzu. Der Befehl
gitfetch<name> kann dann verwendet werden, um Remote-Tracking-Zweige <name>/<branch> zu erstellen und zu aktualisieren.Mit der Option
-fwirdgitfetch<name> sofort nach der Einrichtung der Remote-Informationen ausgeführt.Mit der Option
--tagsimportiertgitfetch<name> jeden Tag aus dem Remote-Repository.Mit der Option
--no-tagsimportiertgitfetch<name> keine Tags aus dem Remote-Repository.Standardmäßig werden nur Tags auf abgerufenen Zweigen importiert (siehe git-fetch[1]).
Mit der Option
-t<branch> wird anstelle des Standard-Glob-Refspec für das Remote zum Nachverfolgen aller Zweige unter dem Namespacerefs/remotes/<name>/ein Refspec zum Nachverfolgen nur von <branch> erstellt. Sie können mehr als ein-t<branch> angeben, um mehrere Zweige nachzuverfolgen, ohne alle Zweige zu übernehmen.Mit der Option
-m<master> wird ein symbolischer Refrefs/remotes/<name>/HEADeingerichtet, der auf den <master>-Zweig des Remotes zeigt. Siehe auch den Befehl set-head.Wenn ein Fetch-Spiegel mit
--mirror=fetcherstellt wird, werden die Refs nicht im Namespace refs/remotes/ gespeichert, sondern alles in refs/ auf dem Remote wird direkt in refs/ im lokalen Repository gespiegelt. Diese Option ist nur in Bare-Repositorys sinnvoll, da ein Fetch lokale Commits überschreiben würde.Wenn ein Push-Spiegel mit
--mirror=pusherstellt wird, verhält sichgitpushimmer so, als wäre--mirrorübergeben worden. - rename
-
Benennt das Remote namens <old> in <new> um. Alle Remote-Tracking-Zweige und Konfigurationseinstellungen für das Remote werden aktualisiert.
Wenn <old> und <new> gleich sind und <old> eine Datei unter
$GIT_DIR/remotesoder$GIT_DIR/branchesist, wird das Remote in das Konfigurationsdateiformat konvertiert. - remove
- rm
-
Entfernt das Remote namens <name>. Alle Remote-Tracking-Zweige und Konfigurationseinstellungen für das Remote werden entfernt.
- set-head
-
Setzt oder löscht den Standardzweig (d. h. das Ziel des symbolischen Refs
refs/remotes/<name>/HEAD) für das benannte Remote. Ein Standardzweig für ein Remote ist nicht erforderlich, ermöglicht aber die Angabe des Namens des Remotes anstelle eines bestimmten Zweigs. Wenn beispielsweise der Standardzweig füroriginaufmastergesetzt ist, kannoriginüberall dort angegeben werden, wo Sie normalerweiseorigin/masterangeben würden.Mit
-doder--deletewird der symbolische Refrefs/remotes/<name>/HEADgelöscht.Mit
-aoder--autowird das Remote abgefragt, um seinenHEADzu ermitteln, und dann wird der symbolische Refrefs/remotes/<name>/HEADauf denselben Zweig gesetzt. Beispiel: Wenn das RemoteHEADaufnextzeigt, wirdgitremoteset-headorigin-aden symbolischen Refrefs/remotes/origin/HEADaufrefs/remotes/origin/nextsetzen. Dies funktioniert nur, wennrefs/remotes/origin/nextbereits existiert; andernfalls muss es zuerst abgerufen werden.Verwenden Sie <branch>, um den symbolischen Ref
refs/remotes/<name>/HEADexplizit zu setzen. Beispiel:gitremoteset-headoriginmastersetzt den symbolischen Refrefs/remotes/origin/HEADaufrefs/remotes/origin/master. Dies funktioniert nur, wennrefs/remotes/origin/masterbereits existiert; andernfalls muss es zuerst abgerufen werden. - set-branches
-
Ändert die Liste der von dem benannten Remote nachverfolgten Zweige. Dies kann verwendet werden, um nach der ursprünglichen Einrichtung eines Remotes eine Teilmenge der verfügbaren Remote-Zweige nachzuverfolgen.
Die benannten Zweige werden so interpretiert, als wären sie mit der Option
-tauf der Befehlszeile vongitremoteaddangegeben worden.Mit
--addwird die Liste der aktuell nachverfolgten Zweige nicht ersetzt, sondern erweitert. - get-url
-
Ruft die URLs für ein Remote ab. Konfigurationen für
insteadOfundpushInsteadOfwerden hier erweitert. Standardmäßig wird nur die erste URL aufgelistet.Mit
--pushwerden Push-URLs anstelle von Fetch-URLs abgefragt.Mit
--allwerden alle URLs für das Remote aufgelistet. - set-url
-
Ändert URLs für das Remote. Setzt die erste URL für das Remote <name>, die dem Regex <oldurl> entspricht (die erste URL, wenn kein <oldurl> angegeben ist) auf <newurl>. Wenn <oldurl> keiner URL entspricht, tritt ein Fehler auf und nichts wird geändert.
Mit
--pushwerden Push-URLs anstelle von Fetch-URLs bearbeitet.Mit
--addwird anstelle des Änderns vorhandener URLs eine neue URL hinzugefügt.Mit
--deletewerden anstelle des Änderns vorhandener URLs alle URLs gelöscht, die dem Regex <URL> für das Remote <name> entsprechen. Der Versuch, alle Nicht-Push-URLs zu löschen, ist ein Fehler.Beachten Sie, dass die Push-URL und die Fetch-URL, auch wenn sie unterschiedlich gesetzt werden können, immer noch auf denselben Ort verweisen müssen. Was Sie an die Push-URL gesendet haben, sollte das sein, was Sie sehen würden, wenn Sie sofort von der Fetch-URL abrufen würden. Wenn Sie von einem Ort abrufen (z. B. Ihrem Upstream) und an einen anderen pushen (z. B. Ihr Veröffentlichungsrepository), verwenden Sie zwei separate Remotes.
- show
-
Gibt einige Informationen über das Remote <name> aus.
Mit der Option
-nwerden die Remote-Heads nicht zuerst mitgitls-remote<name> abgefragt; stattdessen werden zwischengespeicherte Informationen verwendet. - prune
-
Löscht veraltete Referenzen, die mit <name> verknüpft sind. Standardmäßig werden veraltete Remote-Tracking-Zweige unter <name> gelöscht, aber je nach globaler Konfiguration und der Konfiguration des Remotes können wir sogar lokale Tags löschen, die dort nicht hochgeladen wurden. Entspricht
gitfetch--prune<name>, mit der Ausnahme, dass keine neuen Referenzen abgerufen werden.Siehe den Abschnitt PRUNING in git-fetch[1], um zu erfahren, was basierend auf verschiedenen Konfigurationen gelöscht wird.
Mit der Option
--dry-runwerden die zu löschenden Zweige gemeldet, aber nicht tatsächlich gelöscht. - update
-
Ruft Updates für Remotes oder Remote-Gruppen im Repository ab, wie in
remotes.<group> definiert. Wenn weder eine Gruppe noch ein Remote in der Befehlszeile angegeben ist, wird der Konfigurationsparameter remotes.default verwendet; wenn remotes.default nicht definiert ist, werden alle Remotes aktualisiert, für die der Konfigurationsparameterremote.<name>.skipDefaultUpdatenicht auf true gesetzt ist. (Siehe git-config[1]).Mit der Option
--prunewird für alle aktualisierten Remotes ein Pruning durchgeführt.
DISKUSSION
Die Remote-Konfiguration wird über die Konfigurationsvariablen remote.origin.url und remote.origin.fetch erreicht. (Siehe git-config[1]).
BEENDIGUNGSSTATUS
Bei Erfolg ist der Exit-Status 0.
Wenn Unterbefehle wie add, rename und remove das betreffende Remote nicht finden, ist der Exit-Status 2. Wenn das Remote bereits existiert, ist der Exit-Status 3.
Bei jedem anderen Fehler kann der Exit-Status ein beliebiger anderer Nicht-Null-Wert sein.
BEISPIELE
-
Ein neues Remote hinzufügen, abrufen und einen Zweig davon auschecken
$ git remote origin $ git branch -r origin/HEAD -> origin/master origin/master $ git remote add staging git://git.kernel.org/.../gregkh/staging.git $ git remote origin staging $ git fetch staging ... From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging * [new branch] master -> staging/master * [new branch] staging-linus -> staging/staging-linus * [new branch] staging-next -> staging/staging-next $ git branch -r origin/HEAD -> origin/master origin/master staging/master staging/staging-linus staging/staging-next $ git switch -c staging staging/master ...
-
Imitiert git clone, verfolgt aber nur ausgewählte Zweige
$ mkdir project.git $ cd project.git $ git init $ git remote add -f -t master -m master origin git://example.com/git.git/ $ git merge origin
GIT
Teil der git[1] Suite