Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git ls-files [-c] [-d] [-m] [-o] [-i] [--exclude-standard]

Descrizione

Il comando git ls-files elenca i file noti all'index di Git (e opzionalmente alla working tree). Supporta filtri: cached/staged, deleted, modified, others (untracked), ignored, unmerged e così via. È più veloce e preciso di find per "mostrami tutti i file tracciati".

Nell'uso quotidiano, git ls-files si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Quando usarlo

La maggior parte degli utenti invoca porcelain come git status o git grep piuttosto che ls-files. Ricorri ad esso negli script che operano su file tracciati (strumenti di lint, formattatori, script di sync) dove vuoi una lista pulita ignore-aware.

Opzioni comuni

OpzioneDescrizione
-c, --cachedMostra file cachati (default).
-dMostra file cancellati.
-mMostra file modificati.
-oMostra altri file (untracked).
-iMostra file ignorati.
--exclude-standardApplica regole di ignore standard.
-s, --stageMostra info di stage (per path non mergiati).
-zOutput terminato da NUL.

Esempi

git ls-files
# Ogni file tracciato

git ls-files -o --exclude-standard
# File untracked, non ignorati

git ls-files -m
# File tracciati modificati localmente

git ls-files -s
# Mostra mode, SHA e numero di stage per ogni entry

Errori comuni

Dimenticare --exclude-standard quando elenchi file untracked ti sommerge di spazzatura ignorata. Combinare filtri può essere confuso — se passi sia -c che -o, il significato dipende dal contesto.

Comandi correlati

git status, git ls-tree, git update-index, git grep