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.42.1 → 2.52.0 keine Änderungen
-
2.42.0
2023-08-21
- 2.36.1 → 2.41.3 keine Änderungen
-
2.36.0
2022-04-18
- 2.30.1 → 2.35.8 keine Änderungen
-
2.30.0
2020-12-27
- 2.22.1 → 2.29.3 keine Änderungen
-
2.22.0
2019-06-07
- 2.14.6 → 2.21.4 keine Änderungen
-
2.13.7
2018-05-22
- 2.10.5 → 2.12.5 keine Änderungen
-
2.9.5
2017-07-30
- 2.1.4 → 2.8.6 keine Änderungen
-
2.0.5
2014-12-17
SYNOPSIS
git ls-tree [-d] [-r] [-t] [-l] [-z]
[--name-only] [--name-status] [--object-only] [--full-name] [--full-tree] [--abbrev[=<n>]] [--format=<format>]
<tree-ish> [<path>…]
BESCHREIBUNG
Listet die Inhalte eines gegebenen Tree-Objekts auf, ähnlich wie "/bin/ls -a" im aktuellen Arbeitsverzeichnis. Beachten Sie, dass
-
sich das Verhalten leicht von dem von "/bin/ls" unterscheidet, da <path> nur eine Liste von Mustern angibt, die abgeglichen werden sollen. Zum Beispiel wird die Angabe eines Verzeichnisnamens (ohne
-r) anders behandelt, und die Reihenfolge der Argumente spielt keine Rolle. -
ist das Verhalten ähnlich dem von "/bin/ls", da <path> relativ zum aktuellen Arbeitsverzeichnis genommen wird. Wenn Sie sich z. B. in einem Verzeichnis sub befinden, das ein Verzeichnis dir enthält, können Sie git ls-tree -r HEAD dir ausführen, um den Inhalt des Trees (d. h.
sub/dirinHEAD) aufzulisten. Sie möchten keinen Tree angeben, der sich nicht auf der Root-Ebene befindet (z. B.gitls-tree-rHEAD:subdir) in diesem Fall, da dies dazu führen würde, dasssub/sub/dirimHEADCommit abgefragt wird. Das aktuelle Arbeitsverzeichnis kann jedoch durch Übergabe der Option --full-tree ignoriert werden.
OPTIONEN
- <tree-ish>
-
ID eines Tree-ish.
- -d
-
Zeigt nur den benannten Tree-Eintrag selbst an, nicht seine Kinder.
- -r
-
Rekursiv in Sub-Trees.
- -t
-
Zeigt Tree-Einträge auch dann an, wenn sie rekursiv verarbeitet werden. Hat keine Auswirkung, wenn
-rnicht übergeben wurde.-dimpliziert-t. - -l
- --long
-
Zeigt die Objektgröße von Blob- (Datei-)Einträgen an.
- -z
-
\0 Zeilentrennung bei der Ausgabe und keine Anführungszeichen für Dateinamen. Siehe unten OUTPUT FORMAT für weitere Informationen.
- --name-only
- --name-status
-
Listet nur Dateinamen auf (anstelle der "langen" Ausgabe), einen pro Zeile. Kann nicht mit
--object-onlykombiniert werden. - --object-only
-
Listet nur Namen der Objekte auf, einen pro Zeile. Kann nicht mit
--name-onlyoder--name-statuskombiniert werden. Dies entspricht der Angabe von--format='%(objectname), aber sowohl für diese Option als auch für dieses genaue Format verwendet der Befehl einen handoptimierten Codepfad anstelle des generischen Formatierungsmechanismus. - --abbrev[=<n>]
-
Anstatt die vollständigen 40-stelligen hexadezimalen Objektzeilen anzuzeigen, wird der kürzeste Präfix angezeigt, der mindestens <n> Hex-Ziffern lang ist und das Objekt eindeutig referenziert. Eine nicht standardmäßige Anzahl von Ziffern kann mit --abbrev=<n> angegeben werden.
- --full-name
-
Anstatt die Pfadnamen relativ zum aktuellen Arbeitsverzeichnis anzuzeigen, werden die vollständigen Pfadnamen angezeigt.
- --full-tree
-
Begrenzt die Auflistung nicht auf das aktuelle Arbeitsverzeichnis. Impliziert --full-name.
- --format=<format>
-
Eine Zeichenkette, die
%(feldname) aus dem angezeigten Ergebnis interpoliert. Sie interpoliert auch%%zu%und%xNN, wobeiNNHexadezimalziffern sind, wird zu einem Zeichen mit dem Hex-CodeNNinterpoliert; z. B. wird%x00zu \0 (NUL),%x09zu \t (TAB) und%x0azu \n (LF). Wenn angegeben, kann--formatnicht mit anderen formatierungsändernden Optionen kombiniert werden, einschließlich--long,--name-onlyund--object-only. - [<pfad>…]
-
Wenn Pfade angegeben werden, werden diese angezeigt (beachten Sie, dass dies keine echten Pfadnamen sind, sondern eine Liste von Mustern, die abgeglichen werden sollen). Andernfalls wird implizit die Root-Ebene des Trees als einziges Pfadargument verwendet.
Ausgabeformat
Das Ausgabeformat von ls-tree wird entweder durch die Option --format oder durch andere formatierungsändernde Optionen wie --name-only usw. bestimmt (siehe --format oben).
Die Verwendung bestimmter --format-Direktiven ist gleichwertig zur Verwendung dieser Optionen, aber das Aufrufen des vollständigen Formatierungsmechanismus kann langsamer sein als die Verwendung einer geeigneten Formatierungsoption.
In Fällen, in denen --format exakt einer vorhandenen Option entspricht, ls-tree verwendet den entsprechenden schnelleren Pfad. Somit ist das Standardformat gleichwertig zu
%(objectmode) %(objecttype) %(objectname)%x09%(path)
Dieses Ausgabeformat ist kompatibel damit, was --index-info --stdin von git update-index erwartet.
Wenn die Option -l verwendet wird, ändert sich das Format zu
%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)
Die Objektgröße, identifiziert durch <objectname>, wird in Bytes angegeben und rechtsbündig mit einer Mindestbreite von 7 Zeichen formatiert. Die Objektgröße wird nur für Blobs (Datei-)Einträge angegeben; für andere Einträge wird ein - Zeichen anstelle der Größe verwendet.
Ohne die Option -z werden Pfadnamen mit "ungewöhnlichen" Zeichen wie für die Konfigurationsvariable core.quotePath erklärt (siehe git-config[1]) in Anführungszeichen gesetzt. Bei Verwendung von -z wird der Dateiname unverändert ausgegeben und die Zeile wird mit einem NUL-Byte beendet.
Angepasstes Format
Es ist möglich, in einem benutzerdefinierten Format zu drucken, indem die Option --format verwendet wird, die verschiedene Felder mithilfe einer %(feldname)-Notation interpolieren kann. Wenn Sie beispielsweise nur an den Feldern "objectname" und "path" interessiert sind, können Sie mit einem spezifischen "--format" wie diesem ausführen:
git ls-tree --format='%(objectname) %(path)' <tree-ish>
FELDNAMEN
Verschiedene Werte aus strukturierten Feldern können zur Interpolation in die resultierende Ausgabe verwendet werden. Für jede Ausgabzeile können die folgenden Namen verwendet werden
- objectmode
-
Der Modus des Objekts.
- objecttype
-
Der Typ des Objekts (
commit,blobodertree). - objectname
-
Der Name des Objekts.
- objectsize[:padded]
-
Die Größe eines
blob-Objekts ("-" wenn es eincommitodertreeist). Es unterstützt auch ein aufgefülltes Format der Größe mit "%(objectsize:padded)". - path
-
Der Pfadname des Objekts.
GIT
Teil der git[1] Suite