Saltar al contenido principal

Git Clean: Elimina los archivos sin seguimiento y mantén los repositorios ordenados

Domina git clean para eliminar de forma segura los archivos y directorios sin seguimiento. Aprende las opciones clave, el modo interactivo y las mejores prácticas para evitar la pérdida de datos.
Actualizado 7 mar 2025  · 8 min de lectura

Cuando se trabaja en un repositorio Git, es habitual acumular archivos y directorios sin seguimiento que no forman parte del sistema de control de versiones del repositorio. Estos pueden incluir archivos temporales, artefactos de construcción u otros archivos creados localmente que no se envían. Con el tiempo, estos archivos pueden desordenar el directorio de trabajo, haciendo más difícil mantener un espacio de trabajo limpio y organizado.

Para solucionar este problema, Git proporciona el comando git clean, que elimina los archivos y directorios sin seguimiento. En esta guía, te mostraré cómo utilizar de forma segura git clean, sus diferentes opciones, y las mejores prácticas para evitar el borrado involuntario de archivos mientras mantienes ordenado tu repositorio Git. Para aprender más, yo recomiendo tomar nuestros cursos Fundamentos de Git e Introducción a los Conceptos de GitHub para aprender sobre el control de versiones y la diferencia entre Git y GitHub.

Comprender git clean

El comando git clean es una herramienta útil en Git que elimina los archivos no rastreados del directorio de trabajo. El comando git clean es útil cuando necesitas restablecer tu directorio de trabajo a un estado prístino, como antes de cambiar de rama o después de ejecutar procesos de construcción que generan archivos temporales. Sin embargo, el comando git clean debe utilizarse con precaución, ya que borra permanentemente los archivos y directorios no rastreados sin moverlos a la papelera o a la papelera de reciclaje.

A diferencia de git reset o git checkout, que modifican archivos rastreados, git clean se ocupa estrictamente de archivos y directorios que no están bajo control de versiones. Esto incluye

  • Archivos temporales creados por las construcciones

  • Archivos de registro o datos almacenados en caché

  • Archivos listados en .gitignore (si se especifica explícitamente con -x)

El comando git clean es útil para mantener ordenado el directorio de trabajo, complementando a otros comandos Git como git reset y git checkout, que gestionan los cambios en los archivos rastreados.

Considero que la Complete Git Cheat Sheet es una práctica guía de referencia para los comandos Git más comunes.

Usos comunes de git clean

El comando git clean es una herramienta útil para mantener limpio el directorio de trabajo. A continuación se exponen algunos casos de uso común en los que git clean puede eliminar de forma segura archivos y directorios innecesarios.

Eliminar archivos no rastreados

Cuando trabajas en un repositorio Git, los archivos sin seguimiento pueden acumularse con el tiempo. Las siguientes opciones ayudan a eliminarlos:

  • git clean -f: Fuerza la eliminación de archivos no rastreados.

  • git clean -fd: Elimina los archivos y directorios no rastreados.

  • git clean -fx: Elimina los archivos no rastreados e ignorados, como los que aparecen en .gitignore.

Sin embargo, debes tener cuidado al utilizar la opción -fx porque también elimina los archivos ignorados. Verifícalo siempre mediante una ejecución en seco (git clean -n) antes de ejecutar el comando.

Modo interactivo

El comando git clean -i habilita un modo interactivo, que permite a los usuarios eliminar selectivamente los archivos no rastreados. Este modo es útil cuando quieres tener más control sobre qué archivos o directorios se borran.

Supongamos que estás trabajando en un proyecto en el que ya has guardado los cambios en la carpeta Olympics. Sin embargo, has añadido nuevas fuentes de datos denominadas, 2024_Data, y 2025_Data. Si ejecutas el comando git clean -i, aparecerá un aviso que te permitirá elegir entre las siguientes opciones para eliminar los cambios no rastreados.

  • clean:  Eliminar archivos seleccionados

  • filter: Especifica un patrón para los archivos a limpiar

  • select: Selecciona archivos individuales por número

  • quit: Salir sin borrar nada

git clean -i modo interactivo.

git clean -i modo interactivo. Imagen del autor.

Funcionamiento en seco por seguridad

Utilizar la opción git clean -n es una medida de seguridad útil, ya que realiza una "ejecución en seco", mostrando una lista de archivos y directorios no rastreados que se eliminarían sin borrarlos realmente. Esto te permite revisar los cambios antes de ejecutarlos.

En el ejemplo siguiente, el comando git clean -n enumera los archivos que deben eliminarse, pero no los elimina.

git clean -n para la ejecución en seco.

git clean -n para la ejecución en seco. Imagen del autor.

Combinar con git reset

Para restablecer completamente un directorio de trabajo Git, puedes combinar git reset and git clean donde:

  • git reset --hard: Restablece los archivos rastreados al último estado confirmado, descartando cualquier cambio local.

  • git clean -fd: Elimina los archivos y directorios sin seguimiento, dejando sólo los archivos confirmados.

Esta combinación garantiza un directorio de trabajo completamente limpio, lo que resulta útil cuando se cambia de rama, se deshacen cambios experimentales o se prepara un nuevo comienzo.

Consulta o Git Pull Force: Tutorial Cómo sobrescribir una rama local con una remota para aprender las mejores prácticas para sobrescribir cambios locales.

Guía paso a paso para usar git clean

Sigue estos pasos para limpiar de forma segura tu repositorio Git y eliminar los archivos y directorios no rastreados no deseados.

Paso 1: Comprueba el estado actual

Antes de limpiar, ejecuta git status para comprobar el estado actual de tu repositorio y ver qué archivos están sin rastrear.

git status

git status para comprobar el estado actual del repositorio.

git status para comprobar el estado actual del repositorio. Imagen del autor.

Paso 2: Vista previa de lo que se eliminará

Antes de ejecutar cualquier comando de eliminación, utiliza git clean -n para previsualizar lo que se eliminará.

git clean -n

git clean -n para ver qué borrar.

git clean -n para ver qué borrar. Imagen del autor.

Paso 3: Eliminar archivos no rastreados

Ejecuta git clean -f para eliminar los archivos no rastreados si la vista previa parece correcta.

git clean -f

Elimina los cambios sin seguimiento utilizando git clean -f.

Elimina los cambios sin seguimiento utilizando git clean -f. Imagen del autor.

Paso 4: Eliminar directorios no rastreados

Utiliza git clean -fd para eliminar los directorios no rastreados.

git clean -fd

Elimina los directorios sin seguimiento utilizando git clean -fd.

Elimina los directorios sin seguimiento utilizando git clean -fd. Imagen del autor.

Paso 5: Eliminar archivos ignorados

Para eliminar tanto los archivos no rastreados como los ignorados, utiliza el comando git clean -fx.

git clean -fx

Paso 6: Utiliza el modo interactivo para una limpieza selectiva

Para un mayor control, considera la posibilidad de utilizar git clean -i para la eliminación interactiva. Este modo te permite seleccionar qué archivos borrar individualmente.

Git clean -i

git clean -i modo interactivo para una limpieza selectiva.

git clean -i modo interactivo para una limpieza selectiva. Imagen del autor.

git clean vs. Otros comandos Git

El comando git clean se compara a menudo con otros comandos de Git que modifican o restablecen archivos. El cuadro siguiente destaca las principales diferencias:

Mando Función
git clean Elimina permanentemente los archivos y directorios no rastreados.
git reset Restablece los archivos rastreados a un estado anterior, afectando a los cambios preparados y confirmados.
git checkout (o git restore) Descarta los cambios en los archivos rastreados, pero no los elimina.
git stash Guarda temporalmente los cambios rastreados y no rastreados para utilizarlos más tarde.

Buenas prácticas de Git Clean

Para utilizar git clean con seguridad y eficacia, sigue estas buenas prácticas:

  • Utiliza Pruebas en Seco (-n) Antes de Borrar: Utiliza siempre la opción git clean -n para realizar un simulacro antes de ejecutar git clean. Esto te permite previsualizar qué archivos se eliminarán sin borrarlos realmente.

  • Ten cuidado con los archivos ignorados: Cuando utilices git clean, ten cuidado con la opción -x, que elimina los archivos ignorados. Esto puede borrar potencialmente archivos de configuración importantes que aparecen en .gitignore. Si necesitas eliminar archivos ignorados, utiliza el comando git clean -fx.

  • Combínalo con Restablecer Git para una limpieza completa: Para restablecer completamente tu repositorio, combina git reset con git clean, donde git reset --hard restaura los archivos rastreados a su último estado confirmado y git clean -fd elimina los archivos y directorios no rastreados.

  • Utiliza el Modo Interactivo (-i) para borrados más seguros: En lugar de eliminar archivos a ciegas, utiliza el modo interactivo (git clean -i) para revisar y seleccionar los archivos a eliminar.

Riesgos potenciales y precauciones

Utilizar git clean puede ser arriesgado si no se hace con cuidado, ya que borra permanentemente los archivos sin almacenarlos en ninguna parte. He aquí algunos riesgos y precauciones clave que debes tener en cuenta:

  • Los archivos se eliminan permanentemente: A diferencia de git stash, que guarda temporalmente los cambios, git clean borra permanentemente los archivos y directorios no rastreados. Una vez eliminados, estos archivos no pueden recuperarse mediante Git. Si puedes necesitar los archivos más adelante, considera la posibilidad de guardarlos o hacer una copia de seguridad de ellos antes de ejecutar el comando git clean.

  • Ten cuidado con la opción -x: Usando git clean-fx se eliminan los archivos ignorados, que pueden incluir archivos de configuración importantes listados en .gitignore o cachés de dependencias como node_modules/ y venv/. Eliminar accidentalmente estos archivos puede romper las compilaciones o los entornos de desarrollo, así que utiliza esta opción sólo cuando sea necesario.

  • Haz primero un simulacro: Realiza siempre un simulacro utilizando git clean -n antes de ejecutar git clean -f. Este paso te permite previsualizar qué archivos se eliminarán, ayudándote a evitar la eliminación accidental de archivos importantes

  • Enfoques alternativos: En algunos casos, utilizar git stash puede ser una opción mejor que git clean. El comando git stash -u almacena los archivos no rastreados, excluyendo los archivos ignorados para una posible recuperación posterior, y el comando git stash pop restaura los cambios almacenados si es necesario. Este método es útil cuando necesitas cambiar de rama o limpiar tu espacio de trabajo sin perder permanentemente los cambios.

Conclusión

Una base de código bien mantenida demuestra atención al detalle, eficacia y capacidad para gestionar responsablemente los activos digitales. Los empleadores buscan desarrolladores que conozcan las mejores prácticas, como utilizar git clean -n antes de borrar archivos, ser cautelosos con los archivos ignorados utilizando -x, y hacer uso de alternativas más seguras como git stash.

Hacer cursos de DataCamp no sólo es una forma estupenda de aprender, sino también de indicar a los empresarios que te tomas en serio el desarrollo de software. Para ello, te recomiendo que estudies nuestra entrada del blog Las 20 mejores preguntas y respuestas para entrevistas sobre Git para todos los niveles y que sigas nuestro nuevo curso de Fundamentos de Git para convertirte en un experto en todo lo relacionado con Git.

Aprende hoy los fundamentos de Git

Para principiantes: Control de versiones maestro mediante Git.
Empieza a aprender gratis

Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Creo artículos que simplifican la ciencia de los datos y la analítica, haciéndolos fáciles de entender y accesibles.

Preguntas frecuentes sobre Git Clean

¿Qué hace git clean?

git clean elimina los archivos y directorios sin seguimiento de tu directorio de trabajo Git.

¿Git clean borra los archivos confirmados?

No, git clean sólo elimina los archivos sin seguimiento y no afecta a los archivos confirmados o en fase.

¿Cómo puedo previsualizar los archivos antes de borrarlos?

Utiliza git clean -n para realizar un simulacro y ver qué archivos se eliminarán.

¿Cuál es la diferencia entre git clean -f y git clean -fd?

git clean -f elimina los archivos no rastreados, mientras que git clean -fd también elimina los directorios no rastreados.

¿En qué se diferencia git clean de git reset?

git clean elimina los archivos no rastreados, mientras que git reset restaura los archivos rastreados a un estado anterior.

¿Hay alguna forma de eliminar archivos selectivamente?

Sí, utiliza git clean -i para el modo interactivo, que te permite elegir los archivos que quieres borrar.

Temas

Aprende Git con DataCamp

curso

Introduction to Git

2 hr
15.6K
Discover the fundamentals of Git for version control in your software and data projects.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

tutorial

Git Prune: Qué es la poda Git y cómo usarla

La poda Git es un comando Git que elimina del repositorio los objetos que ya no son accesibles desde ninguna confirmación o rama, ayudando a liberar espacio en disco.
François Aubry's photo

François Aubry

5 min

tutorial

Tutorial de Git Revert y Git Reset para principiantes

Una guía tutorial para principiantes que muestra cómo utilizar los comandos Git Revert y Reset.
Zoumana Keita 's photo

Zoumana Keita

10 min

tutorial

Tutorial de GitHub y Git para principiantes

Un tutorial para principiantes que muestra cómo funciona el control de versiones Git y por qué es crucial para los proyectos de ciencia de datos.
Abid Ali Awan's photo

Abid Ali Awan

17 min

tutorial

Git rename branch: Cómo cambiar el nombre de una rama local o remota

Aprende a renombrar ramas Git locales y remotas utilizando el terminal o la interfaz gráfica de usuario (GUI) de clientes populares como GitHub.
François Aubry's photo

François Aubry

tutorial

Tutorial de GIT Push y Pull

Aprende a realizar solicitudes de Git PUSH y PULL con GitHub Desktop y la línea de comandos.

Olivia Smith

13 min

tutorial

Git pull force: Cómo sobrescribir una rama local con una remota

Aprende por qué git pull --force no es la mejor forma de sobrescribir una rama local con la versión remota, y descubre el método adecuado utilizando git fetch y git reset.
François Aubry's photo

François Aubry

Ver másVer más