Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.42.1 → 2.53.0 no changes
-
2.42.0
2023-08-21
- 2.36.1 → 2.41.3 no changes
-
2.36.0
2022-04-18
- 2.30.1 → 2.35.8 no changes
-
2.30.0
2020-12-27
- 2.22.1 → 2.29.3 no changes
-
2.22.0
2019-06-07
- 2.14.6 → 2.21.4 no changes
-
2.13.7
2018-05-22
- 2.10.5 → 2.12.5 no changes
-
2.9.5
2017-07-30
- 2.1.4 → 2.8.6 no changes
-
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>] <trädlikt> [<sökväg>…]
BESKRIVNING
Listar innehållet i ett givet trädobjekt, ungefär som vad "/bin/ls -a" gör i den aktuella arbetskatalogen. Observera att:
-
Beteendet skiljer sig något från "/bin/ls" genom att <sökväg> bara anger en lista med mönster som ska matchas, t.ex. så att ange katalognamn (utan
-r) kommer att bete sig annorlunda, och ordningen på argumenten spelar ingen roll. -
Beteendet liknar det för "/bin/ls" i det att <sökväg> tas som relativ till den aktuella arbetskatalogen. T.ex. när du är i en katalog sub som har en katalog dir kan du köra git ls-tree -r HEAD dir för att lista innehållet i trädet (det vill säga
sub/diriHEAD). Du vill inte ange ett träd som inte är på rotnivå (t.ex.gitls-tree-rHEAD:subdir) i det här fallet, eftersom det skulle resultera i att fråga eftersub/sub/diriHEAD-incheckningen. Den aktuella arbetskatalogen kan dock ignoreras genom att skicka alternativet --full-tree.
ALTERNATIV
- <trädlikt>
-
ID för ett trädlikt objekt.
- -d
-
Visa endast själva den namngivna trädposten, inte dess barn.
- -r
-
Rekursera ner i underträd.
- -t
-
Visar trädposter även när man ska använda rekursiv funktion. Har ingen effekt om
-rinte skickades.-dinnebär-t. - -l
- --long
-
Visa objektstorlek för blob-poster (filposter).
- -z
-
\0 radavslutning vid utdata och citera inte filnamn. Se UTMATNINGSFORMAT nedan för mer information.
- --name-only
- --name-status
-
Lista endast filnamn (i stället för den "långa" utdatan), ett per rad. Kan inte kombineras med
--object-only. - --object-only
-
Lista endast namnen på objekten, ett per rad. Kan inte kombineras med
--name-onlyeller--name-status. Detta motsvarar att ange--format='%(objektnamn), men för både detta alternativ och exakt det formatet använder kommandot en handoptimerad kodväg i stället för att gå via den generiska formateringsmekanismen. - --abbrev[=<n>]
-
I stället för att visa hela 40-byte hexadecimala objektraderna, visa det kortaste prefixet som är minst <n> hexdigits långt och som unikt refererar till objektet. Antal siffror som inte är standard kan anges med --abbrev=<n>.
- --full-name
-
I stället för att visa sökvägarna i förhållande till den aktuella arbetskatalogen, visa de fullständiga sökvägarna.
- --full-tree
-
Begränsa inte listan till den aktuella arbetskatalogen. Innebär --full-name.
- --format=<format>
-
En sträng som interpolerar %(fältnamn) från resultatet som visas. Den interpolerar också
%%till%, och%xNNdärNNär hexagonala siffror interpolerar till tecken med hexagonalkodNN; till exempel interpolerar%x00till \0 (NUL),%x09till \t (TAB) och%x0atill \n (LF). När--formatanges kan den inte kombineras med andra formatändringsalternativ, inklusive--long,--name-onlyoch--object-only. - [<sökväg>…]
-
När sökvägar anges, visa dem (observera att detta inte är råa sökvägsnamn, utan snarare en lista med mönster som ska matcha). Annars används implicit trädets rotnivå som enda sökvägsargument.
Utdataformat
Utdataformatet för ls-tree bestäms antingen av alternativet --format eller andra format-ändringsalternativ som --name-only etc. (se --format ovan).
Användningen av vissa --format-direktiv motsvarar att använda dessa alternativ, men att anropa hela formateringsmaskineriet kan vara långsammare än att använda ett lämpligt formateringsalternativ.
I de fall där --format exakt skulle mappas till ett befintligt alternativ kommer ls-tree att använda lämplig snabbare sökväg. Standardformatet är alltså likvärdigt med:
%(objectmode) %(objecttype) %(objectname)%x09%(path)
Det här utdataformat är kompatibelt med vad --index-info --stdin i git update-index förväntar sig.
När alternativet -l används ändras formatet till
%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)
Objektstorleken som identifieras av <objektnamn> anges i byte och är högerjusterad med en minsta bredd på 7 tecken. Objektstorleken anges endast för blob-poster (filposter); för andra poster används --tecknet i stället för storlek.
Utan -z-alternativet citeras sökvägar med "ovanliga" tecken enligt beskrivningen för konfigurationsvariabeln core.quotePath (se git-config[1]). Med -z matas filnamnet ut ordagrant och raden avslutas med en NUL-byte.
Anpassat format:
Det är möjligt att skriva ut i ett anpassat format genom att använda alternativet --format, vilket kan interpolera olika fält med hjälp av notationen %(fältnamn). Om du till exempel bara bryr dig om fälten "objektnamn" och "sökväg" kan du köra med ett specifikt "--format" som
git ls-tree --format='%(objectname) %(path)' <trädlikt>
FÄLTNAMN
Olika värden från strukturerade fält kan användas för att interpolera in i den resulterande utdata. För varje utmatningsrad kan följande namn användas:
GIT
En del av git[1]-sviten