Por Anónimo (no verificado) , 29 Abril 2026

Sinopsis

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

Descripción

El comando git ls-files lista archivos en el index y árbol de trabajo. Sin opciones muestra archivos rastreados; con --others muestra no rastreados; con --ignored muestra ignorados.

Plumbing usado por scripts que necesitan saber exactamente qué archivos rastrea Git. Más estable que parsear git status.

En el uso diario, este comando se integra estrechamente con alias de shell, plugins de editor e integración continua. Los usuarios avanzados a menudo añaden alias que combinan los flags que siempre pasan. El formato de salida puede personalizarse vía configuración de Git. Cuando algo sale mal, ejecuta el comando con GIT_TRACE=1 para revelar las llamadas plumbing subyacentes.

Entender cómo este comando interactúa con el resto del modelo de datos de Git rinde dividendos. Cada comando opera sobre algún subconjunto de las piezas (objetos, index, refs, árbol de trabajo), y saber cuáles toca ayuda a predecir resultados y a recuperarse de errores.

Cuándo usar

Most users invoke porcelain like git status or git grep rather than ls-files. Reach for it in scripts that operate on tracked files (lint tools, formatters, sync scripts) where you want a clean, ignore-aware list.

Opciones comunes

OpciónDescripción
-c, --cachedShow cached files (default).
-dShow deleted files.
-mShow modified files.
-oShow other (untracked) files.
-iShow ignored files.
--exclude-standardApply standard ignore rules.
-s, --stageShow stage info (for unmerged paths).
-zNUL-terminated output.

Ejemplos

git ls-files
# Every tracked file

git ls-files -o --exclude-standard
# Untracked, non-ignored files

git ls-files -m
# Locally modified tracked files

git ls-files -s
# Show mode, SHA, and stage number for each entry

Errores comunes

Forgetting --exclude-standard when listing untracked files swamps you with ignored junk. Combining filters can be confusing — if you pass both -c and -o, the meaning depends on context.

Comandos relacionados

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