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.49.1 → 2.51.2 keine Änderungen
-
2.49.0
2025-03-14
BESCHREIBUNG
Blobless partielle Klone werden mit git clone --filter=blob:none erstellt und dann das lokale Repository so konfiguriert, dass der Git-Client keine Blob-Objekte herunterlädt, es sei denn, sie werden für eine lokale Operation benötigt. Dies bedeutet zunächst, dass der Klon und spätere Abrufe erreichbare Commits und Bäume, aber keine Blobs herunterladen. Spätere Operationen, die den HEAD-Zeiger ändern, wie z. B. git checkout oder git merge, müssen möglicherweise fehlende Blobs herunterladen, um ihre Operation abzuschließen.
Im schlimmsten Fall werden Befehle, die Blob-Diffs berechnen, wie z. B. git blame, sehr langsam, da sie die fehlenden Blobs in Einzel-Blob-Anfragen herunterladen, um das fehlende Objekt zu befriedigen, wenn der Git-Befehl es benötigt. Dies führt zu mehreren Downloadanfragen und keiner Möglichkeit für den Git-Server, Delta-Kompressionen über diese Objekte bereitzustellen.
Der Befehl git backfill bietet dem Benutzer eine Möglichkeit, anzufordern, dass Git die fehlenden Blobs (mit optionalen Filtern) herunterlädt, so dass die fehlenden Blobs, die historische Versionen von Dateien darstellen, in Stapeln heruntergeladen werden können. Der Befehl backfill versucht, die Anfrage zu optimieren, indem Blobs gruppiert werden, die am selben Pfad auftreten, was hoffentlich zu einer guten Delta-Kompression im vom Server gesendeten Packfile führt.
Auf diese Weise bietet git backfill einen Mechanismus, um einen großen Klon in kleinere Teile zu zerlegen. Beginnend mit einem blobless partiellen Klon mit git clone --filter=blob:none und dann der Ausführung von git backfill im lokalen Repository bietet dies eine Möglichkeit, alle erreichbaren Objekte in mehreren kleineren Netzwerkaufrufen herunterzuladen, als das gesamte Repository zum Zeitpunkt des Klonens herunterzuladen.
Standardmäßig lädt git backfill alle vom HEAD-Commit erreichbaren Blobs herunter. Diese Menge kann mit verschiedenen Optionen eingeschränkt oder erweitert werden.
DIESER BEFEHL IST EXPERIMENTELL. SEIN VERHALTEN KANN SICH IN DER ZUKUNFT ÄNDERN.
OPTIONEN
--min-batch-size=<n>-
Geben Sie eine Mindestgröße für einen Stapel fehlender Objekte an, der vom Server angefordert werden soll. Diese Größe kann durch die letzte Gruppe von Blobs, die an einem bestimmten Pfad gesehen wurden, überschritten werden. Die standardmäßige Mindeststapelgröße beträgt 50.000.
--sparse--no-sparse-
Laden Sie nur Objekte herunter, wenn sie an einem Pfad erscheinen, der mit dem aktuellen Sparse-Checkout übereinstimmt. Wenn die Sparse-Checkout-Funktion aktiviert ist, wird
--sparseangenommen und kann mit--no-sparsedeaktiviert werden.
GIT
Teil der git[1] Suite