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.
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. 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. 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.
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 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.
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.
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.
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 seguragit 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 cleanes una herramienta útil en Git que elimina los archivos no rastreados del directorio de trabajo. El comandogit cleanes ú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 comandogit cleandebe 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 resetogit checkout, que modifican archivos rastreados,git cleanse ocupa estrictamente de archivos y directorios que no están bajo control de versiones. Esto incluyeArchivos 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 cleanes útil para mantener ordenado el directorio de trabajo, complementando a otros comandos Git comogit resetygit 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 cleanes una herramienta útil para mantener limpio el directorio de trabajo. A continuación se exponen algunos casos de uso común en los quegit cleanpuede 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
-fxporque 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 -ihabilita 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,y2025_Data. Si ejecutas el comandogit clean -i, aparecerá un aviso que te permitirá elegir entre las siguientes opciones para eliminar los cambios no rastreados.clean: Eliminar archivos seleccionadosfilter: Especifica un patrón para los archivos a limpiarselect: Selecciona archivos individuales por númeroquit: Salir sin borrar nadagit clean -i modo interactivo. Imagen del autor.
Funcionamiento en seco por seguridad
Utilizar la opción
git clean -nes 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 -nenumera los archivos que deben eliminarse, pero no los elimina.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 cleandonde: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 statuspara comprobar el estado actual de tu repositorio y ver qué archivos están sin rastrear.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 -npara previsualizar lo que se eliminará.git clean -n para ver qué borrar. Imagen del autor.
Paso 3: Eliminar archivos no rastreados
Ejecuta
git clean -fpara eliminar los archivos no rastreados si la vista previa parece correcta.Elimina los cambios sin seguimiento utilizando git clean -f. Imagen del autor.
Paso 4: Eliminar directorios no rastreados
Utiliza
git clean -fdpara eliminar los directorios no rastreados.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.Paso 6: Utiliza el modo interactivo para una limpieza selectiva
Para un mayor control, considera la posibilidad de utilizar
git clean -ipara la eliminación interactiva. Este modo te permite seleccionar qué archivos borrar individualmente.git clean -i modo interactivo para una limpieza selectiva. Imagen del autor.
git clean vs. Otros comandos Git
El comando
git cleanse compara a menudo con otros comandos de Git que modifican o restablecen archivos. El cuadro siguiente destaca las principales diferencias:git cleangit resetgit checkout(ogit restore)git stashBuenas prácticas de Git Clean
Para utilizar
git cleancon seguridad y eficacia, sigue estas buenas prácticas:Utiliza Pruebas en Seco (-n) Antes de Borrar: Utiliza siempre la opción
git clean -npara realizar un simulacro antes de ejecutargit 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 comandogit clean -fx.Combínalo con Restablecer Git para una limpieza completa: Para restablecer completamente tu repositorio, combina
git resetcongit clean, dondegit reset --hardrestaura los archivos rastreados a su último estado confirmado ygit clean -fdelimina 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 cleanpuede 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 cleanborra 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 comandogit clean.Ten cuidado con la opción -x: Usando
git clean-fxse eliminan los archivos ignorados, que pueden incluir archivos de configuración importantes listados en.gitignoreo cachés de dependencias comonode_modules/yvenv/. 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 -nantes de ejecutargit clean -f. Este paso te permite previsualizar qué archivos se eliminarán, ayudándote a evitar la eliminación accidental de archivos importantesEnfoques alternativos: En algunos casos, utilizar
git stashpuede ser una opción mejor quegit clean. El comandogit stash -ualmacena los archivos no rastreados, excluyendo los archivos ignorados para una posible recuperación posterior, y el comandogit stash poprestaura 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 -nantes de borrar archivos, ser cautelosos con los archivos ignorados utilizando-x, y hacer uso de alternativas más seguras comogit 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.