Introducción
Los archivos en el directorio de trabajo de Git se pueden rastrear o no.
Los archivos rastreados son los que se han agregado y confirmado y que git conoce. Los archivos rastreados pueden no modificarse, editarse o organizarse. Todos los demás archivos del directorio de trabajo no se rastrean y git no conoce esos archivos.
A veces, su directorio de trabajo de git puede estar abarrotado de archivos innecesarios que se generan automáticamente, quedan de las fusiones o se crean por error. En tales situaciones, puede agregar esos archivos en .gitignore o eliminarlos. Si desea mantener limpio su repositorio, la mejor opción es eliminar los archivos innecesarios.
Este artículo explica cómo eliminar archivos sin seguimiento en Git.
Eliminar archivos sin seguimiento
El comando que elimina los archivos sin seguimiento es git clean.
Siempre es una buena idea hacer una copia de seguridad del repositorio porque una vez eliminado, los archivos y los cambios realizados no se pueden recuperar.
Antes de ejecutar el comando real y eliminar los archivos y directorios sin seguimiento, use la opción -n que hará una "ejecución de prueba" y mostrará qué archivos y directorios se eliminarán:
git clean -d -n
La salida se verá así:
Would remove content/news/Would remove content/articoli/esempio.txt
Si algunos de los archivos enumerados anteriormente son importantes, debe comenzar a rastrear estos archivos con git add o agregarlos a su .gitignore.
Una vez que esté seguro de que desea continuar y eliminar los archivos y directorios sin seguimiento, escriba:
git clean -d -f
El comando imprimirá todos los archivos y directorios eliminados correctamente:
Removing content/news/Removing content/articoli/esempio.txt
La opción -d le dice a git que elimine también los directorios sin seguimiento. Si no desea eliminar los directorios vacíos sin seguimiento, omita la opción -d.
La opción -f representa la fuerza (supresión dura). Si no se utiliza y la variable de configuración de Git clean.requireForce se establece en true, Git no eliminará los archivos.
Si desea eliminar de forma interactiva los archivos sin seguimiento, use la opción -i:
git clean -d -i
La salida mostrará los archivos y directorios para eliminar y le preguntará qué hacer con esos archivos:
Would remove the following items:
content/news/content/articoli/esempio.txt
*** Commands ***
1: clean 2: filter by pattern 3: select by numbers
4: ask each 5: quit 6: help
Seleccione una de las opciones y presione ENTER.
Si desea limitar la operación a ciertos directorios, pase las rutas a los directorios para buscar archivos no rastreados como argumentos del comando. Por ejemplo, para buscar archivos en el directorio src, debe ejecutar:
git clean -d -n src
Eliminar archivos ignorados
El comando git clean también le permite eliminar archivos y directorios ignorados.
Para eliminar todos los archivos ignorados y sin seguimiento, use la opción -x:
git clean -d -n -x
Si desea eliminar solo los archivos y directorios omitidos, use la opción -X:
git clean -d -n -X
El comando anterior eliminará todos los archivos y directorios enumerados en su .gitignore y mantendrá los archivos sin seguimiento.
Conclusión
En este tutorial, hemos visto cómo eliminar archivos y directorios sin seguimiento en Git.