git clean
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>...]Opciones
Elegir la opción adecuada
Qué elimina cada comando
Con seguimiento o sin seguimiento
| Comando | Archivos sin seguimiento | Archivos ignorados | Ediciones en archivos con seguimiento |
|---|---|---|---|
git clean -f | Borrado | Conservado | Conservado |
git clean -f -x | Borrado | Borrado | Conservado |
git restore . | Conservado | Conservado | Descartado |
git stash -u | Guardado en stash | Conservado | Guardado en stash |
Ejemplos
Vista previa
git clean -nLista los archivos sin seguimiento que se eliminarían.
Eliminar archivos sin seguimiento
git clean -fLos elimina para siempre.
Carpetas también
git clean -fdTambién elimina carpetas sin seguimiento.
Ejemplos de flujos de trabajo
git status -sVer los archivos sin seguimiento (??)
git clean -nPrevisualizar la eliminación
git clean -fEliminarlos
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
No. Los archivos nunca se guardaron en Git.
No. Solo elimina archivos sin seguimiento (y con -x, los ignorados).
Sí: git clean -i te deja elegir los archivos uno a uno.