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

Sinopsis

git clean [-d] [-f] [-x | -X] [-n] [-i] [<path>...]

Descripción

El comando git clean elimina archivos no rastreados del árbol de trabajo. Es destructivo: nunca afecta archivos rastreados pero borra cualquier cosa no rastreada o ignorada. Por defecto se rehúsa a ejecutar a menos que pases -f (force).

Combinaciones comunes: -fd (force, incluyendo directorios), -fdx (también ignora archivos), -n (dry-run para previsualizar). Siempre usa -n primero para asegurarte de que no perderás trabajo importante.

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.

Opciones comunes

OpciónDescripción
-f, --forceRequired to actually delete (unless config disables this).
-n, --dry-runShow what would be deleted, don't delete.
-dAlso remove untracked directories.
-xAlso remove ignored files.
-XRemove only ignored files.
-i, --interactiveInteractive selection.
-e <pattern>Exclude files matching pattern.

Ejemplos

git clean -nd
# Preview what would be deleted (dirs included)

git clean -fd
# Actually delete untracked files and directories

git clean -fdx
# Plus ignored files (full reset to pristine)

git clean -i
# Interactive: choose what to delete

Errores comunes

git clean -fdx wipes node_modules, build artifacts, IDE settings, and even .env files if they're gitignored. Always preview with -n first. Be especially careful in submodules — clean operates per-repository.

Comandos relacionados

git status, git stash, git reset, git rm