Joaquin Martinez

Depura tus errores y construye la mejor versión de ti, cada línea cuenta.

Cómo evitar archivos no deseados en git con .gitignore

15-01-2025
Git y GitHub
Git
Cover Post

En el desarrollo de software, no todos los archivos o directorios de un proyecto deben formar parte del control de versiones. Git, una herramienta de control de versiones robusta y esencial, ofrece una solución elegante para gestionar estos casos: el archivo .gitignore. Con este fichero, podemos indicarle a Git qué archivos debe ignorar y cuáles deben ser excluidos del seguimiento. Este post te guiará paso a paso para dominar su uso y mantener tu repositorio limpio y eficiente.

¿Qué es .gitignore y por qué usarlo?

.gitignore es un archivo de texto plano que le dice a Git qué archivos o carpetas debe ignorar en un repositorio local. La razón principal para usarlo es evitar el seguimiento de archivos que no son necesarios para el proyecto, como los generados automáticamente, archivos de configuración sensibles o paquetes de dependencias. Mantener estos archivos fuera del repositorio reduce su tamaño, mejora el rendimiento de Git y evita que se incluyan por error en los commits.

A diferencia de un archivo como .gitkeep, que se usa para “mantener” un directorio vacío en el seguimiento, .gitignore hace lo opuesto, facilitando la exclusión de elementos del control de versiones.

Cómo Usar .gitignore: Una Guía Práctica

Para demostrar su uso, crearemos nuevos ficheros y directorios que no deseamos que tengan seguimiento.

alt text

Al consultar el estado del repositorio con git status, vemos que los nuevos elementos no están siendo rastreados. Git espera una acción sobre estos archivos “untracked”.

alt text

Ahora, creamos un archivo llamado .gitignore en la raíz de nuestro proyecto.

alt text

En este fichero, listamos los archivos y directorios que queremos ignorar. Para el directorio dist, simplemente agregamos su nombre.

alt text

Al guardar los cambios, Git detecta automáticamente que el directorio dist no debe ser considerado. Sin embargo, el archivo .gitignore aparece ahora como un cambio pendiente.

alt text

El archivo .gitignore debe tener seguimiento para que la configuración de exclusiones se aplique a otros colaboradores del proyecto. Por lo tanto, lo agregamos al stage y lo incluimos en nuestro siguiente commit.

A continuación, agregaremos el otro directorio y el archivo .log a la lista de ignorados.

alt text

Para los archivos .log, podemos especificar el nombre exacto o utilizar comodines para una gestión más sencilla. Por ejemplo, *.log ignora cualquier archivo con esa extensión en la misma carpeta.

Al verificar el estado con git status, observamos que solo el archivo .gitignore está listo para el seguimiento.

alt text

Finalmente, procedemos a agregar el .gitignore al stage y realizamos un commit para guardar los cambios en el repositorio.

alt text

El uso de .gitignore es fundamental para mantener el repositorio limpio, especialmente en proyectos grandes con cientos de archivos que no necesitan ser rastreados.

Errores Comunes y Buenas Prácticas

A pesar de ser sencillo, el uso de .gitignore puede generar errores si no se aplican algunas buenas prácticas.

  1. Ignorar un archivo ya rastreado

    Si intentas agregar un archivo que ya fue incluido en un commit anterior, Git lo seguirá rastreando. Para ignorarlo, debes primero eliminarlo del repositorio (pero no del disco local) con el siguiente comando:

     git rm --cached <nombre-del-archivo>
    

    Luego, haz un commit para confirmar la eliminación y el .gitignore funcionará como se espera.

  2. Usar un .gitignore genérico

    Existen plantillas de .gitignore para distintos lenguajes y frameworks. Puedes usarlas para tener una base y añadir tus propios archivos después. Esto es especialmente útil para ignorar dependencias y cachés. Puedes encontrar una gran colección de plantillas en el repositorio de GitHub llamado gitignore.

El archivo .gitignore es una herramienta poderosa en tu arsenal de Git. Te permite tener un control preciso sobre qué archivos se incluyen en tu repositorio, manteniendo tu historial de commits limpio y relevante. Al dominarlo, mejorarás la colaboración en equipo y el manejo de tus proyectos de software. ¡Un pequeño archivo, un gran impacto en la eficiencia!

Post Siguiente

Flujo de trabajo con git: ramas, commits y escenarios de merge explicados

Post Anterior

Renombrar y eliminar archivos con Git y VS Code