English ▾ Themen ▾ Neueste Version ▾ scalar zuletzt aktualisiert in 2.52.0

NAME

scalar - Ein Werkzeug zur Verwaltung großer Git-Repositorys

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

-C <Verzeichnis>

Vor Ausführung des Unterbefehls das Arbeitsverzeichnis wechseln. Diese Option imitiert dieselbe Option von git[1].

-c <Schlüssel>=<Wert>

Konfigurieren Sie diese Einstellung für die Dauer der Ausführung des angegebenen Unterbefehls. Diese Option imitiert dieselbe Option von git[1].

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-clone ausgeführt wird) und die einzigen vorhandenen Dateien sind die im Stammverzeichnis. Verwenden Sie git sparse-checkout set, um die Menge der gewünschten Verzeichnisse zu erweitern, oder git sparse-checkout disable, 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 mit git ls-tree HEAD[:<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 --branch oder 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 scalar clone das 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 scalar clone die vom Remote-Repository angebotenen Tag-Objekte ab, und zukünftige Befehle git fetch tun dasselbe. Verwenden Sie --no-tags, um das Abrufen von Tags bei scalar clone zu vermeiden und das Repository so zu konfigurieren, dass zukünftige Abrufe von Tags vermieden werden. Um Tags nach dem Klonen mit --no-tags abzurufen, führen Sie git fetch --tags aus.

--full-clone
--no-full-clone

Standardmäßig wird ein Sparse-Checkout initialisiert. Dieses Verhalten kann mit --full-clone deaktiviert werden.

--maintenance
--no-maintenance

Standardmäßig konfiguriert scalar clone das Repository so, dass die Hintergrundwartungsfunktion von Git genutzt wird. Verwenden Sie --no-maintenance, um diese Konfiguration zu überspringen.

Liste

list

Listet Enlistments auf, die derzeit von Scalar registriert sind. Dieser Unterbefehl muss nicht innerhalb einer Enlistment ausgeführt werden.

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 scalar register das 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.

Abmelden

unregister [<Enlistment>]

Entfernt das angegebene Repository aus der Liste der mit Scalar registrierten Repositories und stoppt die geplante Hintergrundwartung.

Ausführen

scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<Enlistment>]

Führt die gegebene Wartungsaufgabe aus (oder alle Aufgaben, wenn all angegeben wurde). Mit Ausnahme von all und config leitet dieser Unterbefehl einfach an git-maintenance[1] weiter (wobei fetch zu prefetch und pack-files zu incremental-repack zugeordnet 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 config ist spezifisch für Scalar und konfiguriert alle diese optimistischen Standardeinstellungen, die Git bei großen Repositorys effizienter machen. Da diese Aufgabe automatisch als Teil von scalar clone ausgefü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 --all angegeben ist, werden alle mit Scalar über den Konfigurationsschlüssel scalar.repo registrierten 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 enable für diese Option. Verwenden Sie den Wert disable, 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 Verzeichnis src geschrieben wird.

Löschen

delete <Enlistment>

Dieser Unterbefehl ermöglicht das Löschen einer vorhandenen Scalar-Enlistment vom lokalen Dateisystem und die Abmeldung des Repositorys.

GIT

Teil der git[1] Suite