EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

git-cat-file – Online in der Cloud

Führen Sie git-cat-file im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist die Befehls-Git-Cat-Datei, die beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


git-cat-file – Bereitstellung von Inhalts- oder Typ- und Größeninformationen für Repository-Objekte

ZUSAMMENFASSUNG


git cat-Datei (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | | --textconv )
git cat-Datei (--batch | --batch-check) [--follow-symlinks]

BESCHREIBUNG


In seiner ersten Form stellt der Befehl den Inhalt oder den Typ eines Objekts im bereit
Repository. Der Typ ist erforderlich, sofern nicht -t or -p wird verwendet, um den Objekttyp zu finden, oder -s is
Wird verwendet, um die Objektgröße zu ermitteln, oder --textconv verwendet wird (was den Typ „blob“ impliziert).

In der zweiten Form wird eine Liste von Objekten (getrennt durch Zeilenumbrüche) auf stdin und bereitgestellt
Der SHA-1, Typ und die Größe jedes Objekts werden auf stdout gedruckt.

OPTIONAL



Der Name des anzuzeigenden Objekts. Für eine vollständigere Liste der Möglichkeiten, Objekt zu buchstabieren
Namen finden Sie im Abschnitt „ANGEBEN VON REVISIONEN“ in gitrevisionen(7).

-t
Zeigen Sie anstelle des Inhalts den durch identifizierten Objekttyp an .

-s
Anstelle des Inhalts wird die durch gekennzeichnete Objektgröße angezeigt .

-e
Alle Ausgaben unterdrücken; Beenden Sie stattdessen mit dem Status Null, wenn existiert und ist gültig
Objekt.

-p
Drucken Sie den Inhalt hübsch aus basierend auf seinem Typ.


Normalerweise entspricht dies dem tatsächlichen Typ von aber ich frage nach einem Typ, der das kann
trivialerweise vom Gegebenen dereferenziert werden ist ebenfalls erlaubt. Ein Beispiel ist
Fragen Sie nach einem „Baum“ mit ein Commit-Objekt sein, das es enthält, oder nach einem fragen
„klecksen“ mit ein Tag-Objekt sein, das darauf zeigt.

--textconv
Zeigen Sie den Inhalt so an, wie er durch einen Textconv-Filter transformiert wurde. In diesem Fall, hat sein von
die Form : , oder : um den Filter auf den Inhalt anzuwenden
im Index unter verzeichnet .

--batch, --batch=
Objektinformationen und Inhalte für jedes auf stdin bereitgestellte Objekt drucken. Möglicherweise nicht
kombiniert mit anderen Optionen oder Argumenten. Weitere Informationen finden Sie im Abschnitt BATCH-AUSGABE weiter unten
Details.

--batch-check, --batch-check=
Gibt Objektinformationen für jedes auf stdin bereitgestellte Objekt aus. Darf nicht mit kombiniert werden
alle anderen Optionen oder Argumente. Weitere Informationen finden Sie im Abschnitt BATCH-AUSGABE weiter unten.

--batch-all-objects
Anstatt eine Liste von Objekten auf stdin zu lesen, führen Sie den angeforderten Batch-Vorgang aus
für alle Objekte im Repository und alle alternativen Objektspeicher (nicht nur erreichbar).
Objekte). Erfordert die Angabe von --batch oder --batch-check. Beachten Sie, dass die Objekte vorhanden sind
besucht, sortiert nach ihren Hashes.

--Puffer
Normalerweise wird die Stapelausgabe nach der Ausgabe jedes Objekts geleert, damit ein Prozess dies tun kann
Interaktiv aus der Cat-Datei lesen und schreiben. Mit dieser Option erfolgt die Ausgabe normal
Standardpufferung; Dies ist viel effizienter, wenn Sie --batch-check in großen Mengen aufrufen
Anzahl der Objekte.

--allow-unknown-type
Erlauben Sie -s oder -t, defekte/beschädigte Objekte unbekannten Typs abzufragen.

--follow-symlinks
Mit --batch oder --batch-check folgen Sie bei der Anfrage den symbolischen Links im Repository
Objekte mit erweiterten SHA-1-Ausdrücken der Form „tree-ish:path-in-tree“. Anstatt
Bereitstellung einer Ausgabe über den Link selbst, Bereitstellung einer Ausgabe über das verlinkte Objekt. Wenn
Ein symbolischer Link zeigt außerhalb des Baums (z. B. ein Link zu /foo oder ein Link auf Root-Ebene zu
../foo), der Teil des Links, der außerhalb des Baums liegt, wird gedruckt.

Diese Option funktioniert (derzeit) nicht korrekt, wenn ein Objekt im Index vorhanden ist
angegeben (z. B. :link statt HEAD:link) und nicht einer im Baum.

Diese Option kann (derzeit) nicht verwendet werden, es sei denn, --batch oder --batch-check wird verwendet.

Betrachten Sie beispielsweise ein Git-Repository, das Folgendes enthält:

f: eine Datei mit „Hallo\n“
Link: ein symbolischer Link zu f
dir/link: ein symbolischer Link zu ../f
plink: ein symbolischer Link zu ../f
alink: ein symbolischer Link zu / etc / passwd

Für eine reguläre Datei f echo HEAD:f | git cat-file --batch würde drucken

ce013625030ba8dba906f756967f9e9ca394464a blob 6

Und echo HEAD:link | git cat-file --batch --follow-symlinks würde dasselbe ausgeben
Ding, ebenso wie HEAD:dir/link, da beide auf HEAD:f zeigen.

Ohne --follow-symlinks würden diese Daten über den Symlink selbst ausgeben. Im
Im Fall von HEAD:link würden Sie sehen

4d1ae35ba2c8ec712fa2a379db44ad639ca277bd blob 1

Sowohl plink als auch alink zeigen außerhalb des Baums, sodass sie jeweils Folgendes ausgeben würden:

Symlink 4
../F

Symlink 11
/ etc / passwd

AUSGABE


If -t angegeben ist, einer der .

If -s angegeben ist, die Größe des in Bytes.

If -e angegeben ist, keine Ausgabe.

If -p angegeben ist, der Inhalt von sind hübsch bedruckt.

Wenn angegeben ist, der rohe (wenn auch unkomprimierte) Inhalt der wird sein
ist zurückgekommen.

STAPEL AUSGABE


Wenn --batch oder --batch-check angegeben ist, liest cat-file Objekte aus stdin, eines pro Zeile.
und Informationen darüber ausdrucken. Standardmäßig wird die gesamte Zeile als Objekt betrachtet.
als ob es gefüttert würde git-rev-parse(1).

Sie können die für jedes Objekt angezeigten Informationen mithilfe einer benutzerdefinierten Option festlegen . Der
wird für jedes Objekt buchstäblich nach stdout kopiert, mit Platzhaltern des Formulars
%(Atom) erweitert, gefolgt von einer neuen Zeile. Die verfügbaren Atome sind:

Objektname
Der 40-Hex-Objektname des Objekts.

Objekttyp
Der Typ des Objekts (derselbe wie bei cat-file -t-Berichten).

Objektgröße
Die Größe des Objekts in Bytes (dasselbe wie bei cat-file -s-Berichten).

Objektgröße:Datenträger
Die Größe in Bytes, die das Objekt auf der Festplatte einnimmt. Siehe den Hinweis zu den Festplattengrößen
im Abschnitt VORSICHTSHINWEISE weiter unten.

Deltabasis
Wenn das Objekt als Delta auf der Festplatte gespeichert ist, wird dies auf den 40-Hex-Sha1 des erweitert
Delta-Basisobjekt. Andernfalls wird auf den Nullwert sha1 (40 Nullen) erweitert. Siehe VORSICHTSMASSNAHMEN unten.

Ruhe
Wenn dieses Atom in der Ausgabezeichenfolge verwendet wird, werden die Eingabezeilen zuerst geteilt
Leerzeichengrenze. Alle Zeichen vor diesem Leerzeichen gelten als das
Objektname; Zeichen nach dieser ersten Leerzeichenfolge (d. h. der „Rest“)
Zeile) werden anstelle des %(rest)-Atoms ausgegeben.

Wenn kein Format angegeben ist, ist das Standardformat %(objectname) %(objecttype)
%(Objektgröße).

Wenn --batch angegeben ist, folgt auf die Objektinformationen der Objektinhalt
(bestehend aus %(objectsize) Bytes), gefolgt von einer neuen Zeile.

Beispielsweise würde --batch ohne ein benutzerdefiniertes Format Folgendes erzeugen:

SP SP LF
LF

Wohingegen --batch-check='%(objectname) %(objecttype)' Folgendes erzeugen würde:

SP LF

Wenn in stdin ein Name angegeben ist, der nicht in ein Objekt im Repository aufgelöst werden kann,
dann ignoriert cat-file jedes benutzerdefinierte Format und gibt Folgendes aus:

SP fehlt LF

Wenn --follow-symlinks verwendet wird und ein Symlink im Repository außerhalb von zeigt
Repository, dann ignoriert cat-file jedes benutzerdefinierte Format und gibt Folgendes aus:

Symlink SP LF
LF

Der Symlink ist entweder absolut (beginnend mit einem /) oder relativ zur Baumwurzel.
Wenn dir/link beispielsweise auf ../../foo zeigt, dann wird ../foo sein. Ist
die Größe des Symlinks in Bytes.

Wenn --follow-symlinks verwendet wird, werden die folgenden Fehlermeldungen angezeigt:

SP fehlt LF

wird gedruckt, wenn der ursprünglich angeforderte Symlink nicht existiert.

baumelndes SP LF
LF

wird gedruckt, wenn der ursprüngliche Symlink existiert, aber etwas, auf das er (transitiv) verweist
zu nicht.

Schleife SP LF
LF

wird für Symlink-Schleifen (oder alle Symlinks, die mehr als 40 Linkauflösungen erfordern) gedruckt
lösen).

notdir SP LF
LF

wird gedruckt, wenn bei der Symlink-Auflösung eine Datei als Verzeichnisname verwendet wird.

VORSICHTEN


Beachten Sie, dass die Größen der Objekte auf der Festplatte genau angegeben werden, es ist jedoch Vorsicht geboten
um Schlussfolgerungen darüber zu ziehen, welche Refs oder Objekte für die Festplattennutzung verantwortlich sind. Der
Die Größe eines gepackten Nicht-Delta-Objekts kann viel größer sein als die Größe von Objekten mit Delta
dagegen, aber die Wahl, welches Objekt die Basis und welches das Delta ist, ist willkürlich
und kann sich bei einem Umpacken ändern.

Beachten Sie außerdem, dass in der Objektdatenbank möglicherweise mehrere Kopien eines Objekts vorhanden sind. in diesem
In diesem Fall ist es nicht definiert, welche Kopiengröße oder Deltabasis gemeldet wird.

GIT


Ein Teil des git(1) Suite

Verwenden Sie git-cat-file online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad