Aquí se explica cómo limpiar Git y eliminar archivos sin seguimiento

Los archivos sin seguimiento pueden desordenar su árbol de trabajo de Git y estropear las cosas en el futuro. A veces, estos archivos sin seguimiento pueden ser de texto u otros archivos que no desea en su repositorio remoto o aquellos que creó por error de una forma u otra después de realizar una confirmación.

Cualquiera que sea el caso, siempre es útil limpiar su árbol de trabajo de Git para eliminar estos archivos.

¿Qué son los archivos sin seguimiento durante una confirmación de Git?

Si actualizó algunos archivos existentes en su proyecto y también agregó nuevos archivos localmente y desea enviar esa actualización a su repositorio remoto en GitHub, Git requiere que configure estos cambios para su confirmación.

Una mera actualización que realice en archivos preexistentes que ya haya comprometido no los elimina de los archivos rastreados.

Cuando prepara una actualización para confirmar, los archivos nuevos también se preparan con ellos y Git los agrega a los archivos de seguimiento. Sin embargo, los archivos nuevos que agregue a su proyecto después de preparar su confirmación no se rastrean.

Estos pueden ser archivos sin importancia o sobrantes que usó temporalmente o aquellos que emergen de una forma u otra después de fusionar o impulsar algunos cambios. En consecuencia, estos archivos sin seguimiento aún acechan en su árbol de trabajo, y cuando ejecuta git status , Git los devuelve como archivos sin seguimiento.

Puede eliminar estos archivos limpiando su árbol de trabajo de Git. De lo contrario, si aún cree que necesita algunos de ellos localmente, puede agregarlos al archivo .gitignore . Los archivos que agregue a .gitignore no se verán afectados por la limpieza, no si decide incluirlos.

Limpiar Git es tan fácil como eliminar una rama de Git de forma local o remota . Veamos las diversas formas en que puede limpiar Git para eliminar archivos o carpetas sin seguimiento a continuación.

Cómo limpiar Git y eliminar archivos o carpetas sin seguimiento

Antes de eliminar los archivos sin seguimiento, debe verificar dos veces para asegurarse de que desea eliminarlos. Para hacer eso, ejecute el siguiente código:

 git clean -d -n

El comando devuelve todas las carpetas y archivos sin seguimiento que Git eliminará de su árbol de trabajo.

Para eliminar estos archivos y directorios, ejecute:

 git clean -d -f

Para eliminar archivos solo sin eliminar carpetas, use:

 git clean -f

Aunque los métodos anteriores no eliminan los archivos enumerados en .gitignore , también puede usar el comando a continuación para limpiar los elementos enumerados en el archivo .gitignore :

 git clean -fx

Para eliminar solo los archivos ignorados sin incluir otros archivos, esta vez, cambie la "x" minúscula por una "X" mayúscula:

 git clean -fX

Para verificar si todavía hay archivos sin etapas en su árbol de trabajo, ejecute el siguiente comando:

 git status

También puedes limpiar Git de forma interactiva usando:

 git clean -i

Para incluir archivos en .gitignore en el modo de limpieza interactivo, use:

 git clean -ix

Para limpiar archivos enumerados en .gitignore solo usando el modo interactivo, ejecute el siguiente comando. Asegúrese de utilizar la "X" mayúscula esta vez:

 git clean -ifX

Una vez que aparece el modo interactivo, puede elegir filtrar los archivos por número o patrones de cadena. También puede seleccionar la opción preguntar si para verificar cada archivo antes de eliminarlo. Si lo desea, puede seleccionar la opción de limpieza para eliminar los archivos de inmediato.

Ejecutar el estado de git le brinda información de preparación actual y, si hay archivos o carpetas sin preparar, también se lo informa.

¿Sigue viendo los archivos eliminados como sin seguimiento después de ejecutar Git Clean?

Sin embargo, después de verificar el estado de Git, si los archivos que eliminó anteriormente siguen apareciendo en la sección de archivos sin seguimiento, debe borrar la caché de Git. Luego ejecute git clean nuevamente para eliminar los archivos.

Relacionado Cómo clonar un repositorio usando GitHub Desktop

Para borrar su caché de Git:

 git rm -r --cached [filename]

Si tiene más de un archivo que sigue apareciendo después de limpiar Git, use el siguiente comando para borrar la caché de Git para cada archivo:

 git rm -r --cached [filename1] [filename2] [filename3]...

Sin embargo, asegúrese de agregar la extensión de archivo para cada uno de los archivos y recuerde limpiar Git nuevamente para eliminarlos.

¿Por qué necesita limpiar Git para eliminar archivos sin seguimiento?

A veces, desea ordenar las cosas en su árbol de trabajo de Git antes de dejar un proyecto para otro momento. Luego, es probable que presione o fusione los últimos cambios que realizó en el proyecto para asegurarse de poder retomar exactamente desde donde lo dejó la próxima vez.

Pero mientras empuja o fusiona, algunos archivos que no desea en su repositorio pueden caer por error.

Si no verifica dichos archivos y los elimina, puede estropear su repositorio remoto, ya que se enviarán la próxima vez que realice una actualización en su repositorio remoto. Además de eso, dichos archivos pueden romper cosas cuando se implementan en plataformas como Heroku que usa git para la implementación.

Entonces: ¡mantén tu Git limpio!