git-ls-files(1)

Från Wiki.linux.se -Linux wikipedia på Svenska.
Version från den 27 maj 2026 kl. 09.01 av Admin (diskussion | bidrag) (Skapade sidan med '= git-ls-files(1) = == NAMN == '''git-ls-files''' – visa information om filer i indexet och arbetskatalogen == SYNOPSIS == <pre> git ls-files [-z] [-t] [-v] [-f] [-c|--cached] [-d|--deleted] [-o|--others] [-i|--ignored] [-s|--stage] [-u|--unmerged] [-k|--killed] [-m|--modified] [--resolve-undo] [--directory [--no-empty-directory]] [--eol] [--deduplicate] [-x <mönster>|--exclude=<mönster...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

git-ls-files(1)

NAMN

git-ls-files – visa information om filer i indexet och arbetskatalogen

SYNOPSIS

git ls-files [-z] [-t] [-v] [-f]
             [-c|--cached] [-d|--deleted] [-o|--others] [-i|--ignored]
             [-s|--stage] [-u|--unmerged] [-k|--killed] [-m|--modified]
             [--resolve-undo]
             [--directory [--no-empty-directory]] [--eol]
             [--deduplicate]
             [-x <mönster>|--exclude=<mönster>]
             [-X <fil>|--exclude-from=<fil>]
             [--exclude-per-directory=<fil>]
             [--exclude-standard]
             [--error-unmatch] [--with-tree=<träd-aktigt>]
             [--full-name] [--recurse-submodules]
             [--abbrev[=<n>]] [--format=<format>] [--] [<fil>...]

BESKRIVNING

Detta kommando sammanfogar fillistan i indexet med den faktiska listan i arbetskatalogen och visar olika kombinationer av de två.

Flera flaggor kan användas för att avgöra vilka filer som visas, och varje fil kan skrivas ut flera gånger om det finns flera poster i indexet eller om flera statusar gäller för de valda filalternativen.

ALTERNATIV

-c, --cached

Visa alla filer som är cachade i Gits index, det vill säga alla spårade filer. Detta är standard om inga av alternativen -c, -s, -d, -o, -u, -k, -m eller --resolve-undo anges.

-d, --deleted

Visa filer med en ostagad borttagning.

-m, --modified

Visa filer med en ostagad ändring. Observera att en ostagad borttagning också räknas som en ostagad ändring.

-o, --others

Visa andra filer, det vill säga ospårade filer, i utmatningen.

-i, --ignored

Visa endast ignorerade filer i utmatningen. Måste användas tillsammans med antingen ett uttryckligt -c eller -o. När filer i indexet visas, det vill säga när alternativet används med -c, skrivs endast de filer ut som matchar ett exkluderingsmönster. När ”andra” filer visas, det vill säga när alternativet används med -o, visas endast de som matchas av ett exkluderingsmönster. Standardregler för ignorering aktiveras inte automatiskt; därför krävs minst ett av alternativen --exclude*.

-s, --stage

Visa stagat innehålls lägesbitar, objektnamn och stegnummer i utmatningen.

--directory

Om en hel katalog klassificeras som ”annan”, visa endast dess namn med avslutande snedstreck och inte hela dess innehåll. Har ingen effekt utan -o/--others.

--no-empty-directory

Lista inte tomma kataloger. Har ingen effekt utan --directory.

-u, --unmerged

Visa information om icke sammanslagna filer i utmatningen, men visa inga andra spårade filer. Tvingar --stage och åsidosätter --cached.

-k, --killed

Visa ospårade filer i filsystemet som behöver tas bort på grund av fil-/katalogkonflikter för att spårade filer ska kunna skrivas till filsystemet.

--resolve-undo

Visa filer som har resolve-undo-information i indexet tillsammans med deras resolve-undo-information. Resolve-undo-information används för att implementera ”git checkout -m $PATH”, det vill säga för att återskapa sammanslagningskonflikter som råkade lösas.

-z

Använd \0 som radavslutning i utmatningen och citera inte filnamn. Se avsnittet UTmatning nedan för mer information.

--deduplicate

När endast filnamn visas, undertryck dubbletter som kan uppstå genom att flera steg finns under en sammanslagning, eller genom att alternativen --deleted och --modified anges samtidigt. När något av alternativen -t, --unmerged eller --stage används har detta alternativ ingen effekt.

-x <mönster>, --exclude=<mönster>

Hoppa över ospårade filer som matchar mönstret. Observera att mönstret är ett jokerteckenmönster för skalet. Se EXKLUDERINGSMÖNSTER nedan för mer information.

-X <fil>, --exclude-from=<fil>

Läs exkluderingsmönster från <fil>, ett per rad.

--exclude-per-directory=<fil>

Läs ytterligare exkluderingsmönster som bara gäller katalogen och dess underkataloger från <fil>. Om du försöker efterlikna hur porslinskommandon fungerar är det enklare och mer fullständigt att använda alternativet --exclude-standard.

--exclude-standard

Lägg till Gits standardexkluderingar: .git/info/exclude, .gitignore i varje katalog och användarens globala exkluderingsfil.

--error-unmatch

Om någon <fil> inte förekommer i indexet ska detta behandlas som ett fel, med returvärde 1.

--with-tree=<träd-aktigt>

När --error-unmatch används för att expandera användarens angivna <fil>-argument, det vill säga sökvägsmönster, låtsas att sökvägar som har tagits bort i indexet sedan det angivna <träd-aktigt> fortfarande finns. Att använda detta alternativ med -s eller -u är inte meningsfullt.

-t

Visa statustaggar tillsammans med filnamn. För skriptbruk är dock git-status(1) --porcelain och git-diff-files(1) --name-status nästan alltid bättre alternativ. Användare bör titta på git-status(1) --short eller git-diff(1) --name-status för mer användarvänliga alternativ.

Detta alternativ anger en orsak till att varje filnamn visas, i form av en statustagg som följs av ett mellanslag och sedan filnamnet. Statustaggarna är enskilda tecken från följande lista:

H

Spårad fil som varken är icke sammanslagen eller skip-worktree.

S

Spårad fil som är skip-worktree.

M

Spårad fil som är icke sammanslagen.

R

Spårad fil med ostagad borttagning.

C

Spårad fil med ostagad ändring.

K

Ospårade sökvägar som ingår i fil-/katalogkonflikter som hindrar utcheckning av spårade filer.

?

Ospårad fil.

U

Fil med resolve-undo-information.

-v

Liknar -t, men använder små bokstäver för filer som är markerade som assume unchanged. Se git-update-index(1).

-f

Liknar -t, men använder små bokstäver för filer som är markerade som fsmonitor valid. Se git-update-index(1).

--full-name

När kommandot körs från en underkatalog skriver det normalt ut sökvägar relativt den aktuella katalogen. Detta alternativ tvingar sökvägar att skrivas ut relativt projektets toppkatalog.

--recurse-submodules

Anropar rekursivt ls-files för varje aktiv undermodul i arkivet. För närvarande stöds endast lägena --cached och --stage.

--abbrev[=<n>]

I stället för att visa fullständiga 40-byte hexadecimala objektrader visas det kortaste prefixet som är minst <n> hexsiffror långt och som unikt hänvisar till objektet. Ett icke-standardmässigt antal siffror kan anges med --abbrev=<n>.

--debug

Efter varje rad som beskriver en fil läggs mer data om dess cachepost till. Detta är avsett att visa så mycket information som möjligt för manuell granskning; det exakta formatet kan ändras när som helst.

--eol

Visa <eolinfo> och <eolattr> för filer. <eolinfo> är den identifiering av filinnehållet som Git använder när attributet "text" är "auto", eller inte är satt och core.autocrlf inte är false. <eolinfo> är antingen "-text", "none", "lf", "crlf", "mixed" eller "".

"" betyder att filen inte är en vanlig fil, inte finns i indexet eller inte är åtkomlig i arbetskatalogen.

<eolattr> är attributet som används vid utcheckning eller committning. Det är antingen "", "-text", "text", "text=auto", "text eol=lf" eller "text eol=crlf". Sedan Git 2.10 stöds "text=auto eol=lf" och "text=auto eol=crlf".

Både <eolinfo> i indexet, "i/<eolinfo>", och i arbetskatalogen, "w/<eolinfo>", visas för vanliga filer, följt av "attr/<eolattr>".

--sparse

Om indexet är glest visas de glesa katalogerna utan att expandera till filerna de innehåller. Glesa kataloger visas med avslutande snedstreck, till exempel "x/" för en gles katalog "x".

--format=<format>

En sträng som interpolerar %(fieldname) från resultatet som visas. Den interpolerar även %% till %, och %xXX, där XX är hexsiffror, till tecknet med hexkoden XX. Till exempel interpoleras %x00 till \0 (NUL), %x09 till \t (TAB) och %x0a till \n (LF). --format kan inte kombineras med -s, -o, -k, -t, --resolve-undo eller --eol.

--

Tolka inga fler argument som alternativ.

<fil>

Filer som ska visas. Om inga filer anges visas alla filer som matchar övriga angivna kriterier.

UTMATNING

git ls-files skriver normalt bara ut filnamnen, om inte --stage anges. I så fall skrivs följande ut:

[<tagg> ]<läge> <objekt> <steg> <fil>

git ls-files --eol visar:

i/<eolinfo><MELLANSLAG>w/<eolinfo><MELLANSLAG>attr/<eolattr><MELLANSLAG*><TAB><fil>

git ls-files --unmerged och git ls-files --stage kan användas för att undersöka detaljerad information om icke sammanslagna sökvägar.

För en icke sammanslagen sökväg lagrar indexet, i stället för ett enda läge/SHA-1-par, upp till tre sådana par: ett från träd O i steg 1, A i steg 2 och B i steg 3. Denna information kan användas av användaren, eller av porslinskommandon, för att se vad som slutligen bör lagras på sökvägen. Se git-read-tree(1) för mer information om tillstånd.

Utan alternativet -z citeras sökvägsnamn med ”ovanliga” tecken enligt beskrivningen för konfigurationsvariabeln core.quotePath. Se git-config(1). Med -z skrivs filnamnet ut ordagrant och raden avslutas med en NUL-byte.

Det är möjligt att skriva ut i ett eget format med alternativet --format, som kan interpolera olika fält med notationen %(fieldname). Om du exempelvis bara bryr dig om fälten "objectname" och "path" kan du köra:

git ls-files --format='%(objectname) %(path)'

FÄLTNAMN

Hur varje sökväg visas kan anpassas med alternativet --format=<format>, där %(fieldname) i formatsträngen interpoleras för olika aspekter av indexposten. Följande fältnamn förstås:

objectmode

Läget för filen som är lagrad i indexet.

objecttype

Objekttypen för filen som är lagrad i indexet.

objectname

Namnet på filen som är lagrad i indexet.

objectsize[:padded]

Objektstorleken för filen som är lagrad i indexet, eller "-" om objektet är en commit eller ett tree. Stöder även ett utfyllt storleksformat med %(objectsize:padded).

stage

Steget för filen som är lagrad i indexet.

eolinfo:index, eolinfo:worktree

<eolinfo>, se beskrivningen av alternativet --eol, för innehållet i indexet eller i arbetskatalogen för sökvägen.

eolattr

<eolattr>, se beskrivningen av alternativet --eol, som gäller för sökvägen.

path

Sökvägsnamnet för filen som är lagrad i indexet.

EXKLUDERINGSMÖNSTER

git ls-files kan använda en lista med ”exkluderingsmönster” när den går igenom katalogträdet och hittar filer att visa när flaggorna --others eller --ignored anges. gitignore(5) beskriver formatet för exkluderingsmönster.

Dessa exkluderingsmönster kan anges från följande platser, i ordning:

  1. Kommandoradsflaggan --exclude=<mönster> anger ett enskilt mönster. Mönster ordnas i samma ordning som de förekommer på kommandoraden.
  2. Kommandoradsflaggan --exclude-from=<fil> anger en fil som innehåller en lista över mönster. Mönster ordnas i samma ordning som de förekommer i filen.
  3. Kommandoradsflaggan --exclude-per-directory=<namn> anger namnet på den fil i varje katalog som git ls-files undersöker, normalt .gitignore. Filer i djupare kataloger har företräde. Mönster ordnas i samma ordning som de förekommer i filerna.

Ett mönster som anges på kommandoraden med --exclude eller läses från filen som anges med --exclude-from är relativt toppen av katalogträdet. Ett mönster som läses från en fil som anges med --exclude-per-directory är relativt den katalog där mönsterfilen finns.

I allmänhet bör du kunna använda --exclude-standard när du vill att exkluderingsreglerna ska tillämpas på samma sätt som porslinskommandon gör. För att efterlikna det som --exclude-standard anger kan du använda --exclude-per-directory=.gitignore och därefter ange:

  1. Filen som anges av konfigurationsvariabeln core.excludesfile, om den finns, eller filen $XDG_CONFIG_HOME/git/ignore.
  2. Filen $GIT_DIR/info/exclude.

Detta görs via alternativet --exclude-from=.

SE ÄVEN

git-read-tree(1), gitignore(5)

GIT

Del av git(1)-sviten.

COLOFON

Denna sida är en del av projektet git (Git distribuerat versionshanteringssystem). Information om projektet finns på <http://git-scm.com/>. Om du har en felrapport för denna manualsida, se <http://git-scm.com/community>. Denna sida hämtades från projektets uppströms Git-arkiv <https://github.com/git/git.git> den 2026-05-24. Vid den tidpunkten var datumet för den senaste commit som hittades i arkivet 2026-05-22. Om du upptäcker renderingsproblem i denna HTML-version av sidan, eller tror att det finns en bättre eller mer aktuell källa för sidan, eller har rättelser eller förbättringar av informationen i denna COLOFON, som inte är en del av den ursprungliga manualsidan, skicka e-post till man-pages@man7.org.

Sidor som hänvisar till denna sida