Categorías
- Redes (10)
- Git y GitHub (23)
- Desarrollo de software (21)
- Sistemas operativos (28)
Cómo evitar archivos no deseados en git con .gitignore
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.

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”.

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

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

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.

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.

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.

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

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.
-
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.
-
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!
Agregados recientemente
- Guía para la gestión de permisos en Linux con chmod
- Comprendiendo los permisos de archivos y directorios en Linux
- Aprende a escribir scripts en Linux: De la línea de comandos a la automatización
- El comando Grep: Búsqueda y filtrado de patrones en Linux
- Introducción al manejo de procesos en Linux (foreground, background, kill y más)
- Pipes en Linux: El poder de encadenar comandos
- Comandos esenciales para la administración de usuarios en Linux
