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.50.1 → 2.51.2 keine Änderungen
-
2.50.0
2025-06-16
- 2.47.1 → 2.49.1 keine Änderungen
-
2.47.0
2024-10-06
- 2.42.2 → 2.46.4 keine Änderungen
-
2.42.1
2023-11-02
- 2.38.1 → 2.42.0 keine Änderungen
-
2.38.0
2022-10-02
SYNOPSIS
scalar clone [--single-branch] [--branch <main-branch>] [--full-clone] [--[no-]src] [--[no-]tags] [--[no-]maintenance] <url> [<enlistment>] scalar list scalar register [--[no-]maintenance] [<enlistment>] scalar unregister [<enlistment>] scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>] scalar reconfigure [--maintenance=(enable|disable|keep)] [ --all | <enlistment> ] scalar diagnose [<enlistment>] scalar delete <enlistment>
BESCHREIBUNG
Scalar ist ein Repository-Verwaltungswerkzeug, das Git für die Verwendung in großen Repositorys optimiert. Scalar verbessert die Leistung, indem es erweiterte Git-Einstellungen konfiguriert, Repositorys im Hintergrund wartet und hilft, über das Netzwerk gesendete Daten zu reduzieren.
Ein wichtiges Konzept von Scalar ist die "Enlistment": Dies ist das übergeordnete Verzeichnis des Projekts. Es enthält normalerweise das Unterverzeichnis src/, das ein Git-Arbeitsverzeichnis ist. Dies fördert die Trennung zwischen verfolgten Dateien (innerhalb von src/) und nicht verfolgten Dateien wie Build-Artefakten (außerhalb von src/). Beim Registrieren eines vorhandenen Git-Arbeitsverzeichnisses mit Scalar, dessen Name nicht src ist, ist die Enlistment identisch mit dem Arbeitsverzeichnis.
Der Befehl scalar implementiert verschiedene Unterbefehle und je nach Unterbefehl unterschiedliche Optionen. Mit Ausnahme von clone, list und reconfigure --all erwarten alle Unterbefehle, dass sie innerhalb einer Enlistment ausgeführt werden.
Die folgenden Optionen können *vor* dem Unterbefehl angegeben werden
BEFEHLE
Klonen
- clone [<Optionen>] <URL> [<Enlistment>]
-
Klonnt das angegebene Repository, ähnlich wie git-clone[1]. Standardmäßig werden nur Commit- und Baumobjekte geklont. Nach Abschluss befindet sich das Arbeitsverzeichnis unter <Enlistment>
/src.Die Sparse-Checkout-Funktion ist aktiviert (außer wenn sie mit
--full-cloneausgeführt wird) und die einzigen vorhandenen Dateien sind die im Stammverzeichnis. Verwenden Siegitsparse-checkoutset, um die Menge der gewünschten Verzeichnisse zu erweitern, odergitsparse-checkoutdisable, um auf alle Dateien zu erweitern (siehe git-sparse-checkout[1] für weitere Details). Sie können die Unterverzeichnisse außerhalb Ihres Sparse-Checkouts mitgitls-treeHEAD[:<Verzeichnis>] erkunden. - -b <Name>
- --branch <Name>
-
Anstatt den von HEAD des geklonten Repositorys verweisenden Branch auszuchecken, wird stattdessen der Branch <Name> ausgecheckt.
- --single-branch
- --no-single-branch
-
Klont nur den Verlauf, der zur Spitze eines einzelnen Branches führt, entweder angegeben durch die Option
--branchoder den primären Branch, auf den HEAD des Remote-Repositorys zeigt.Weitere Abrufe in das resultierende Repository aktualisieren nur den Remote-Tracking-Branch für den Branch, für den diese Option beim anfänglichen Klonen verwendet wurde. Wenn HEAD des Remote-Repositorys beim Erstellen eines
--single-branch-Klons auf keinen Branch zeigte, wird kein Remote-Tracking-Branch erstellt. - --src
- --no-src
-
Standardmäßig platziert
scalarclonedas geklonte Repository in einem Verzeichnis <Enlistment>/src. Verwenden Sie--no-src, um das geklonte Repository direkt im Verzeichnis <Enlistment> zu platzieren. - --tags
- --no-tags
-
Standardmäßig ruft
scalarclonedie vom Remote-Repository angebotenen Tag-Objekte ab, und zukünftige Befehlegitfetchtun dasselbe. Verwenden Sie--no-tags, um das Abrufen von Tags beiscalarclonezu vermeiden und das Repository so zu konfigurieren, dass zukünftige Abrufe von Tags vermieden werden. Um Tags nach dem Klonen mit--no-tagsabzurufen, führen Siegitfetch--tagsaus. - --full-clone
- --no-full-clone
-
Standardmäßig wird ein Sparse-Checkout initialisiert. Dieses Verhalten kann mit
--full-clonedeaktiviert werden. - --maintenance
- --no-maintenance
-
Standardmäßig konfiguriert
scalarclonedas Repository so, dass die Hintergrundwartungsfunktion von Git genutzt wird. Verwenden Sie--no-maintenance, um diese Konfiguration zu überspringen.
Registrieren
- register [<Enlistment>]
-
Fügt das Repository der Enlistment der Liste registrierter Repositories hinzu und startet die Hintergrundwartung. Wenn kein <Enlistment> angegeben ist, wird die Enlistment, die mit dem aktuellen Arbeitsverzeichnis verbunden ist, registriert.
Hinweis: Wenn dieser Unterbefehl in einem Arbeitsverzeichnis aufgerufen wird, das
src/heißt, wird sein übergeordnetes Verzeichnis als Scalar-Enlistment betrachtet. Wenn das Arbeitsverzeichnis *nicht*src/heißt, wird es selbst als Scalar-Enlistment betrachtet. - --maintenance
- --no-maintenance
-
Standardmäßig konfiguriert
scalarregisterdas Repository so, dass die Hintergrundwartungsfunktion von Git genutzt wird. Verwenden Sie--no-maintenance, um diese Konfiguration zu überspringen. Dies deaktiviert keine Wartung, die möglicherweise bereits auf andere Weise aktiviert ist.
Ausführen
- scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<Enlistment>]
-
Führt die gegebene Wartungsaufgabe aus (oder alle Aufgaben, wenn
allangegeben wurde). Mit Ausnahme vonallundconfigleitet dieser Unterbefehl einfach an git-maintenance[1] weiter (wobeifetchzuprefetchundpack-fileszuincremental-repackzugeordnet wird).Diese Aufgaben werden automatisch als Teil der geplanten Wartung ausgeführt, sobald das Repository bei Scalar registriert ist. Daher sollte es nicht notwendig sein, diesen Unterbefehl manuell auszuführen.
Die Aufgabe
configist spezifisch für Scalar und konfiguriert alle diese optimistischen Standardeinstellungen, die Git bei großen Repositorys effizienter machen. Da diese Aufgabe automatisch als Teil vonscalarcloneausgeführt wird, sind explizite Aufrufe dieser Aufgabe selten erforderlich.
Neu konfigurieren
Nach einem Scalar-Upgrade oder wenn die Konfiguration einer Scalar-Enlistment irgendwie beschädigt oder versehentlich geändert wurde, ermöglicht dieser Unterbefehl die Neukonfiguration der Enlistment.
- --all
-
Wenn
--allangegeben ist, werden alle mit Scalar über den Konfigurationsschlüsselscalar.reporegistrierten Enlistments neu konfiguriert. Verwenden Sie diese Option nach jedem Upgrade, um die neuesten Funktionen zu erhalten. - --maintenance=(enable|disable|keep)
-
Standardmäßig konfiguriert Scalar die Enlistment so, dass die Hintergrundwartungsfunktion von Git genutzt wird; dies entspricht der Verwendung des Werts
enablefür diese Option. Verwenden Sie den Wertdisable, um jede betrachtete Enlistment von der Hintergrundwartung auszuschließen. Verwenden Sie 'keep', um die Konfiguration der Hintergrundwartung für diese Repositorys unverändert zu lassen.
Diagnostizieren
- diagnose [<Enlistment>]
-
Beim Melden von Problemen mit Scalar ist es oft hilfreich, die von diesem Befehl gesammelten Informationen bereitzustellen, einschließlich Protokollen und bestimmten Statistiken, die die Datenform der aktuellen Enlistment beschreiben.
Die Ausgabe dieses Befehls ist eine
.zip-Datei, die in ein Verzeichnis neben dem Arbeitsverzeichnis im Verzeichnissrcgeschrieben wird.
GIT
Teil der git[1] Suite