git clean

Instantáneas básicas

Elimina archivos sin seguimiento del directorio de trabajo


El comando 'git clean' elimina archivos sin seguimiento — archivos que Git nunca guardó, como logs, resultados de build o pruebas. Como Git no tiene copia, los archivos eliminados no se pueden recuperar. Por eso git clean se niega a ejecutarse sin -f, y git clean -n muestra antes lo que se eliminaría. Los archivos de .gitignore se conservan salvo que añadas -x.

Sinopsis

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] [<pathspec>...]
[ ] opcional| o<arg> valor a sustituir... repetible--flag opción

Opciones

Haz clic en una opción para desplegarla

Principiante (3)

No elimina nada, solo muestra lo que se eliminaría.

RecomendadoPrevisualiza siempre antes de eliminar para siempre

Ejemplo

git clean -n

Elimina de verdad los archivos. Obligatorio salvo que clean.requireForce sea false.

Cuando haga faltaObligatorio para eliminar; los archivos se pierden para siempre

Ejemplo

git clean -f

Elimina también carpetas sin seguimiento, no solo archivos.

Cuando haga faltaNecesario cuando los restos son carpetas enteras

Ejemplo

git clean -fd

Intermedio (1)

Elimina también los archivos que .gitignore protege normalmente.

No recomendadoTambién elimina archivos ignorados como .env o ajustes locales

Ejemplo

git clean -f -x

Elegir la opción adecuada

Qué elimina cada comando

Con seguimiento o sin seguimiento

ComandoArchivos sin seguimientoArchivos ignoradosEdiciones en archivos con seguimiento
git clean -fBorradoConservadoConservado
git clean -f -xBorradoBorradoConservado
git restore .ConservadoConservadoDescartado
git stash -uGuardado en stashConservadoGuardado en stash

Ejemplos

Vista previa

git clean -n

Lista los archivos sin seguimiento que se eliminarían.


Eliminar archivos sin seguimiento

git clean -f

Los elimina para siempre.


Carpetas también

git clean -fd

También elimina carpetas sin seguimiento.

Ejemplos de flujos de trabajo

1
git status -s

Ver los archivos sin seguimiento (??)

2
git clean -n

Previsualizar la eliminación

3
git clean -f

Eliminarlos

Solución de problemas

fatal: clean.requireForce is true and -f not given

Causa: git clean se niega a borrar sin -f

Ejecuta git clean -n para previsualizar y luego git clean -f

Una carpeta sin seguimiento no se eliminó

Causa: Las carpetas necesitan -d

Usa git clean -fd

Eliminé un archivo que necesitaba

Causa: Los archivos sin seguimiento no tienen copia en Git

Git no puede restaurarlo; revisa tu editor o tus copias de seguridad. La próxima vez usa git stash -u

Consejos y trampas

Buenas prácticas

  • ✓Ejecuta siempre git clean -n antes de git clean -f.
  • ✓Usa git stash -u si puedes necesitar los archivos más tarde.
  • ✓Reserva -x para carpetas de build que puedes regenerar.

Errores comunes

  • ✗Ejecutar git clean -f sin -n antes y perder un archivo que aún necesitabas.
  • ✗Añadir -x por costumbre y eliminar archivos ignorados como .env.
  • ✗Esperar que git clean deshaga ediciones en archivos con seguimiento — para eso usa git restore.

Preguntas frecuentes

A:

No. Los archivos nunca se guardaron en Git.

A:

No. Solo elimina archivos sin seguimiento (y con -x, los ignorados).

A:

Sí: git clean -i te deja elegir los archivos uno a uno.