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.52.0
2025-11-17
- 2.43.1 → 2.51.2 keine Änderungen
-
2.43.0
2023-11-20
- 2.39.1 → 2.42.4 keine Änderungen
-
2.39.0
2022-12-12
- 2.34.1 → 2.38.5 keine Änderungen
-
2.34.0
2021-11-15
- 2.18.1 → 2.33.8 keine Änderungen
-
2.18.0
2018-06-21
- 2.16.6 → 2.17.6 keine Änderungen
-
2.15.4
2019-12-06
- 2.14.6 keine Änderungen
-
2.13.7
2018-05-22
- 2.10.5 → 2.12.5 keine Änderungen
-
2.9.5
2017-07-30
- 2.7.6 → 2.8.6 keine Änderungen
-
2.6.7
2017-05-05
- 2.5.6 keine Änderungen
-
2.4.12
2017-05-05
- 2.2.3 → 2.3.10 keine Änderungen
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
SYNOPSIS
git send-pack [--mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [--[no-]signed | --signed=(true|false|if-asked)] [<host>:]<directory> (--all | <ref>…)
BESCHREIBUNG
Normalerweise möchten Sie stattdessen git push verwenden, was ein übergeordneter Wrapper für diesen Befehl ist. Siehe git-push[1].
Ruft git-receive-pack auf einem möglicherweise entfernten Repository auf und aktualisiert es aus dem aktuellen Repository, indem benannte Referenzen gesendet werden.
OPTIONEN
- --receive-pack=<git-receive-pack>
-
Pfad zum git-receive-pack Programm auf der Remote-Seite. Manchmal nützlich, wenn Sie über SSH in ein entferntes Repository pushen und das Programm nicht in einem Verzeichnis auf dem Standard-$PATH haben.
- --exec=<git-receive-pack>
-
Dasselbe wie --receive-pack=<git-receive-pack>.
- --all
-
Anstatt explizit anzugeben, welche Referenzen aktualisiert werden sollen, werden alle lokal vorhandenen Heads aktualisiert.
- --stdin
-
Nimmt die Liste der Referenzen von stdin, eine pro Zeile. Wenn zusätzlich zu dieser Option Referenzen auf der Befehlszeile angegeben sind, werden die Referenzen von stdin nach denen auf der Befehlszeile verarbeitet.
Wenn
--stateless-rpczusammen mit dieser Option angegeben wird, muss die Liste der Referenzen im Paketformat (pkt-line) vorliegen. Jede Referenz muss in einem separaten Paket stehen, und die Liste muss mit einem Flush-Paket enden. - --dry-run
-
Tut alles außer dem tatsächlichen Senden der Updates.
- --force
-
Normalerweise weigert sich der Befehl, eine entfernte Referenz zu aktualisieren, die kein Vorfahre der lokalen Referenz ist, die zum Überschreiben verwendet wird. Dieses Flag deaktiviert die Prüfung. Das bedeutet, dass das entfernte Repository Commits verlieren kann; verwenden Sie es mit Vorsicht.
- --verbose
-
Führen Sie ausführlich aus.
- --thin
-
Sendet ein "dünnes" Paket, das Objekte in deltatisiertem Format basierend auf Objekten, die nicht im Paket enthalten sind, aufzeichnet, um den Netzwerkverkehr zu reduzieren.
- --atomic
-
Verwendet eine atomare Transaktion zur Aktualisierung der Referenzen. Wenn die Aktualisierung einer der Referenzen fehlschlägt, schlägt der gesamte Push fehl, ohne dass Referenzen geändert werden.
- --signed
- --no-signed
- --signed=(true|false|if-asked)
-
GPG-signiert die Push-Anfrage zur Aktualisierung von Referenzen auf der Empfängerseite, um deren Überprüfung durch Hooks und/oder Protokollierung zu ermöglichen. Wenn
falseoder--no-signedangegeben ist, wird keine Signierung versucht. Wenntrueoder--signedangegeben ist, schlägt der Push fehl, wenn der Server keine signierten Pushes unterstützt. Wenn aufif-askedgesetzt, wird nur signiert, wenn der Server signierte Pushes unterstützt. Der Push schlägt auch fehl, wenn der eigentliche Aufruf vongpg--signfehlschlägt. Siehe git-receive-pack[1] für Details auf der Empfängerseite. - --push-option=<string>
-
Übergibt die angegebene Zeichenkette als Push-Option zur Verarbeitung durch Hooks auf der Serverseite. Wenn der Server Push-Optionen nicht unterstützt, wird ein Fehler ausgegeben. Siehe git-push[1] und githooks[5] für Details.
- <host>
-
Ein entfernter Host, der das Repository beherbergt. Wenn dieser Teil angegeben ist, wird git-receive-pack über ssh aufgerufen.
- <directory>
-
Das zu aktualisierende Repository.
- <ref>…
-
Die entfernten Referenzen, die aktualisiert werden sollen.
ANGABE DER REFERENZEN
Es gibt drei Möglichkeiten, anzugeben, welche Referenzen auf der Remote-Seite aktualisiert werden sollen.
Mit dem Flag --all werden alle lokal vorhandenen Referenzen auf die Remote-Seite übertragen. Sie können keine <ref> angeben, wenn Sie dieses Flag verwenden.
Ohne --all und ohne jegliche <ref> werden die Heads aktualisiert, die sowohl auf der lokalen als auch auf der Remote-Seite vorhanden sind.
Wenn eine oder mehrere <ref> explizit angegeben sind (entweder auf der Befehlszeile oder über --stdin), kann es sich entweder um ein einzelnes Muster oder um ein Paar solcher Muster handeln, die durch einen Doppelpunkt ":" getrennt sind (dies bedeutet, dass ein Referenzname keinen Doppelpunkt enthalten kann). Ein einzelnes Muster <name> ist nur eine Kurzform für <name>:<name>.
Jedes Musterpaar besteht aus der Quellseite (vor dem Doppelpunkt) und der Zielseite (nach dem Doppelpunkt). Die zu pushende Referenz wird ermittelt, indem eine Übereinstimmung gefunden wird, die der Quellseite entspricht, und wohin sie gepusht wird, wird durch Verwendung der Zielseite bestimmt. Die Regeln für die Übereinstimmung einer Referenz sind dieselben Regeln, die von git rev-parse zur Auflösung eines symbolischen Referenznamens verwendet werden. Siehe git-rev-parse[1].
-
Es ist ein Fehler, wenn <src> nicht genau einer der lokalen Referenzen entspricht.
-
Es ist ein Fehler, wenn <dst> mehr als einer entfernten Referenz entspricht.
-
Wenn <dst> keiner entfernten Referenz entspricht, entweder
-
muss es mit "refs/" beginnen; <dst> wird in diesem Fall buchstäblich als Ziel verwendet.
-
<src> == <dst> und die Referenz, die <src> entsprach, darf nicht in der Menge der entfernten Referenzen vorhanden sein; die Referenz, die lokal mit <src> übereinstimmte, wird als Name des Ziels verwendet.
-
Ohne --force wird die <src>-Referenz nur dann am Remote-Ende gespeichert, wenn <dst> nicht existiert oder <dst> eine echte Teilmenge (d.h. ein Vorfahre) von <src> ist. Diese Prüfung, bekannt als "Fast-Forward-Prüfung", wird durchgeführt, um versehentliches Überschreiben der Remote-Referenz und den Verlust von Commits anderer Personen zu vermeiden.
Mit --force wird die Fast-Forward-Prüfung für alle Referenzen deaktiviert.
Optional kann ein <ref> Parameter einem Pluszeichen + vorangestellt werden, um die Fast-Forward-Prüfung nur für diese Referenz zu deaktivieren.
GIT
Teil der git[1] Suite