Cómo eliminar archivos de un repositorio Git después de ignorarlos

5min

Git es una poderosa herramienta que nos permite llevar un registro detallado de los cambios en nuestro código fuente. Sin embargo, a veces cometemos el error de confirmar archivos que no deberían estar en nuestro repositorio. Esto puede incluir archivos temporales, registros o cualquier tipo de archivo que no sea esencial para el proyecto.

Afortunadamente, Git ofrece una solución para esto: la capacidad de ignorar archivos con .gitignore y, posteriormente, eliminarlos del repositorio de manera efectiva. En este artículo, explicaremos cómo eliminar archivos después de haberlos ignorado previamente. Aprenderás cómo limpiar tu repositorio de manera eficiente y mantenerlo limpio, lo que es esencial para un flujo de trabajo de desarrollo efectivo.

Como ya vimos, con el archivo .gitignore, configuramos las carpetas y archivos que se tienen que ignorar al añadir un repositorio. Si se gestiona correctamente, todo debería funcionar; pero si se agrega material al repositorio que no deseamos, podemos encontrarnos con un par de situaciones:

  • El archivo se ha añadido al staging area, pero que no se ha hecho commit a los archivos
  • El archivo o carpeta ya existe en el repositorio porque previamente se hizo commit

Sin más preámbulos, veamos los distintos casos sobre cómo eliminar estos archivos.

Índice

Suprimir el seguimiento de archivos que están sólo en Staging Area

El Staging Area es una parte fundamental del flujo de trabajo que actúa como un área intermedia entre tu directorio de trabajo local y el repositorio Git. También se le conoce como «index». Su función principal es permitirte seleccionar y preparar los cambios que deseas incluir en tu próxima confirmación (commit) antes de enviarlos al repositorio.

Eliminarlos es sencillo con el siguiente comando:

git reset HEAD nombre_de_archivo

Si deseas eliminar todos los ficheros del directorio donde te encuentras, el comando sería el siguiente:

git reset HEAD

Con el comando git status se comprueba que los archivos ya no están en seguimiento.

Suprimir del repositorio archivos ya confirmados (commit)

El principal problema podría venir si quieres eliminar un archivo ya confirmado, o una carpeta con archivos que no corresponden estar en el repositorio. Los archivos a los que hemos realizado commit por primera vez forman parte del repositorio, por lo que quitarlos de ahí, requiere de un paso adicional.

Nota importante: Antes de realizar estos pasos, asegúrate de haber hecho una copia de seguridad de tus datos importantes, ya que este proceso puede ser irreversible.

Eliminar los archivos del repositorio

Con el comando rm podremos borrar los archivos del repositorio, pero si lo ejecutamos tal cual nos eliminará también el archivo de nuestro directorio de trabajo.

Si queremos conservarlo tendríamos que poner lo siguiente:

git rm --cached nombre_archivo

Y si queremos eliminar el directorio y su contenido haríamos esto:

git rm -r --cached nombre_directorio

Con –cached mantenemos los ficheros en nuestro directorio de trabajo.

Verificar que estamos ignorando los archivos con .gitignore

Debemos asegurarnos de que los archivos están siendo ignorados de manera correcta, y esto lo haremos revisando el archivo .gitignore.

Commit para validar los cambios

Ya con los archivos que no queremos y por tanto ignorados, deberemos confirmar estos cambios. Esto lo haremos situándonos en la carpeta en cuestión e introduciremos el siguiente comando:

git commit -m 'Eliminados archivos no deseados'

Enviar los cambios al repositorio remoto

El último paso, si tienes un repositorio remoto donde envías código, es trasladar los datos allí y esto lo hacemos con el comando push.

git push

Y si tenemos que especificar el repositorio remoto y la rama, sería así:

git push origin master

Aunque quites los archivos del repositorio se podrán seguir viendo en el histórico, y aunque se pueden quitar del histórico de commits, requiere de otros pasos de mayor complejidad.

Conclusiones sobre eliminar archivos en repositorios Git

La gestión de archivos en un repositorio Git es una parte esencial del desarrollo de software. A lo largo de este artículo, hemos explorado cómo eliminar archivos después de haberlos ignorado previamente. Así, a través de simples pasos, puedes limpiar tu repositorio y mantenerlo ordenado, lo que es crucial para un flujo de trabajo eficiente.

En el mundo del desarrollo web, la gestión de archivos es igualmente crucial que la elección de dominios y hosting web. Al igual que organizamos y limpiamos nuestros repositorios, debemos administrar cuidadosamente nuestros archivos en el servidor de hosting para garantizar un rendimiento óptimo y una buena experiencia de usuario. La limpieza y la organización no solo son esenciales para el desarrollo de software, sino también para mantener la eficiencia y su facilidad de uso después de crear una página web.

Fernán García de Zúñiga

Productos relacionados: