Svenska ▾ Topics ▾ Latest version ▾ git-ls-files last updated in 2.46.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-igt>]
		[--full-name] [--recurse-submodules]
		[--abbrev[=<n>]] [--format=<format>] [--] [<fil>…​]

BESKRIVNING

Det här kommandot sammanslår fillistan i indexet med den faktiska arbetskatalogs-listan 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 är tillämpliga för de relevanta filvalsalternativen.

ALTERNATIV

-c
--cached

Visa alla filer som cachas i Gits index, dvs. alla spårade filer. (Detta är standardinställningen om inga -c/-s/-d/-o/-u/-k/-m/--resolve-undo-alternativ är angivna.)

-d
--deleted

Visa filer med en ej köad borttagning

-m
--modified

Visa filer med en ej köad modifiering (observera att en ej köad borttagning också räknas som en ej köad modifiering)

-o
--others

Visa andra (dvs. ospårade) filer i utdata

-i
--ignored

Visa endast ignorerade filer i utdata. Måste användas med antingen ett explicit -c eller -o. När filer visas i indexet (dvs. när de används med -c), skriv endast ut de filer som matchar ett uteslutnings-mönster. När "andra" filer visas (dvs. när de används med -o), visa endast de som matchas av ett uteslutnings-mönster. Standardregler för ignorering aktiveras inte automatiskt; därför krävs minst ett av alternativen --exclude*.

-s
--stage

Visa det köade innehållets läges bitar, objektnamn och stegnummer i utdatat.

--directory

Om en hel katalog klassificeras som "annan", visa bara dess namn (med ett 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 ej sammanslagna filer i utdata, men visa inga andra spårade filer (tvingar --stage, overrides --cached).

-k
--killed

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

--resolve-undo

Visa filer som har information om ångra-lösning i indexet tillsammans med deras information om ångra-lösning. (Informationen om ångra-lösning används för att implementera "git checkout -m $PATH", dvs. för att återskapa sammanslagningskonflikter som löstes av misstag)

-z

\0 radavslutning vid utdata och citera inte filnamn. Se UTMATNING nedan för mer information.

--deduplicate

När endast filnamn visas, undertryck dubbletter som kan komma från att ha flera steg under en sammanslagning, eller genom att ge alternativen --deleted och --modified 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önster. Observera att mönstret är ett jokerteckensmönster. Se UTSLUTNINGS MÖNSTER nedan för mer information.

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

Läs uteslutnings-mönster från <fil>; 1 per rad.

--exclude-per-directory=<fil>

Läs ytterligare uteslutnings-mönster som endast gäller för katalogen och dess underkataloger i <fil>. Om du försöker emulera hur Porslin-kommandon fungerar är det enklare och mer noggrant att använda alternativet --exclude-standard istället.

--exclude-standard

Lägg till standard Git-exkluderingar: .git/info/exclude, .gitignore i varje katalog och användarens globala exkluderingsfil.

--error-unmatch

Om någon <fil> inte visas i indexet, behandla detta som ett fel (retur 1).

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

När man använder --error-unmatch för att utöka användardefinierade <fil>-argument (dvs. sökvägsmönster) till sökvägar, låtsas att sökvägar som togs bort i indexet eftersom den namngivna <träd-igt> fortfarande finns. Att använda detta alternativ med -s- eller -u-alternativen är meningslöst.

-t

Visa statustaggar tillsammans med filnamn. Observera att för skriptändamål är 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.

Det här alternativet anger en anledning till att varje filnamn visas, i form av en statustagg (som följs av ett mellanslag och sedan filnamnet). Statustaggarna är alla enstaka tecken från följande lista:

H

spårad fil som inte är antingen osammanslagen eller hoppaöver-arbetsträd

S

spårad fil som är hoppaöver-arbetsträd

M

spårad fil som inte är sammanslagen

R

spårad fil med ej köad borttagning/radering

C

spårad fil med ej köad modifiering/ändring

K

ospårade sökvägar som är en del av fil-/katalog-konflikter som förhindrar utcheckning av spårade filer

?

ospårad fil

U

fil med ångra-lösnings information

-v

Liknar -t, men använd gemener för filer som är markerade som antas oförändrade (se git-update-index[1]).

-f

Liknar -t, men använd gemener 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, matar det vanligtvis ut sökvägar i förhållande till den aktuella katalogen. Det här alternativet tvingar att sökvägar matas ut i förhållande till projektets översta katalog.

--recurse-submodules

Anropar rekursivt ls-filer på varje aktiv undermodul i kodförrådet. För närvarande finns det endast stöd för lägena --cached och --stage.

--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>.

--debug

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

--eol

Visa <eolinfo> och <eolattr> för filer. <eolinfo> är den filinnehållsidentifiering som används av Git när attributet "text" är "auto" (eller inte angivet och core.autocrlf inte är falskt). <eolinfo> är antingen "-text", "none", "lf", "crlf", "mixed" eller "".

"" betyder att filen inte är en vanlig fil, att den inte finns i indexet eller inte är tillgänglig i arbetskatalogen.

<eolattr> är attributet som används vid utcheckning eller incheckning, det är antingen "", "-text", "text", "text=auto", "text eol=lf", "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/<eolinfo>").

--sparse

Om indexet är glest, visa de glesa katalogerna utan att expandera till de filer som finns. Glesa kataloger visas med ett avslutande snedstreck, till exempel "x/" för en gles katalog "x".

--format=<format>

En sträng som interpolerar %(fältnamn) från resultatet som visas. Den interpolerar också %% till %, och %xXX där XX är hexagonala siffror interpolerar till tecken med hexagonalkod XX; till exempel interpolerar %x00 till \0 (NUL), %x09 till \t (TAB) och %x0a till \n (LF). --format kan inte kombineras med -s, -o, -k, -t, --resolve-undo och --eol.

--

Tolka inte fler argument som alternativ.

<fil>

Filer att visa. Om inga filer anges visas alla filer som matchar de andra angivna kriterierna.

UTMATNING

git ls-files matar bara ut filnamnen om inte --stage anges, i vilket fall det matar ut:

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

git ls-files --eol will show i/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><fil>

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

För en osammanslagen sökväg, istället för att registrera ett enda mod/SHA-1-par, registrerar indexet 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 porslinet) för att se vad som så småningom ska registreras vid sökvägen. (se git-read-tree[1] för mer information om tillstånd)

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.

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-files --format='%(objectname) %(path)'

FÄLTNAMN

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

objectmode

Filläget som är registrerat i indexet.

objecttype

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

objectname

Namnet på filen som är registrerad i indexet.

objectsize[:padded]

Objektstorleken för filen som registreras i indexet ("-" om objektet är en commit eller ett tree). Den stöder även ett utfyllt format med storleken "%(objectsize:padded)".

stage

Det steg av filen som är registrerat i indexet.

eolinfo:index
eolinfo:worktree

<eolinfo> (se beskrivningen av --eol-alternativet) för innehållet i indexet eller i arbetsträdet för sökvägen.

eolattr

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

sökväg

Sökvägen till filen som är registrerad i indexet.

EXCLUDERINGS MÖNSTER

git ls-files kan använda en lista med "exkluderings mönster" när man navigerar i katalogträdet och hittar filer för att visa när flaggorna --others eller --ignored anges. gitignore[5] anger formatet för exkluderings mönster.

Dessa uteslutnings-mönster kan anges från följande platser, i ordning:

  1. Kommandoradsflaggan --exclude=<mönster> anger ett enda mönster. Mönster är ordnade i samma ordning som de visas i kommandoraden.

  2. Kommandoradsflaggan --exclude-from=<fil> anger en fil som innehåller en lista med mönster. Mönster är ordnade i samma ordning som de visas i filen.

  3. Kommandoradsflaggan --exclude-per-directory=<namn> anger namnet på filen i varje katalog som git ls-files undersöker, normalt .gitignore. Filer i djupare kataloger har företräde. Mönster är ordnade i samma ordning som de visas i filerna.

Ett mönster som anges på kommandoraden med --exclude eller läst från filen som anges med --exclude-from är relativt till toppen av katalogträdet. Ett mönster som lästs från en fil som anges med --exclude-per-directory är relativt till katalogen där mönsterfilen visas.

Generellt sett bör du kunna använda --exclude-standard när du vill att undantagsreglerna ska tillämpas på samma sätt som Porslins-kommandon gör. För att emulera vad --exclude-standard specificerar kan du ange --exclude-per-directory=.gitignore och sedan 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.

via alternativet --exclude-from=.

GIT

En del av git[1]-sviten