Arostik Logo
ArostikVLARCK

Micro-Technology Solutions

Git y GitHubNivel: Principiante15 min de lección

¿Qué es el Archivo .gitignore y Qué Reglas Debe Contener?

Domina la sintaxis de patrones glob de `.gitignore`, qué archivos deben estar estrictamente ignorados en todo proyecto y cómo desindexar archivos que fueron subidos por error con `git rm --cached`.

¿Qué es el Archivo .gitignore y Qué Reglas Debe Contener?
AROS STUDENT
E
Equipo de Ingeniería ArostikEspecialista en Sistemas y TI · Actualizado el 20 mar 2026
¿Qué es y para qué sirve?

El archivo `.gitignore` es un archivo de texto plano ubicado en la raíz de un repositorio que define un conjunto de patrones y reglas para indicarle a Git qué archivos, carpetas o extensiones debe ignorar deliberadamente y no rastrear bajo ninguna circunstancia.

¿Por qué deberías aprenderlo y usarlo?

Previene desastres de seguridad como la filtración pública de credenciales secretas (archivos `.env`), evita inflar el repositorio con miles de dependencias compiladas (`node_modules`) y mantiene el historial libre de archivos temporales del sistema operativo (`.DS_Store`, `Thumbs.db`).

Analogía de la Vida Real

Imagina la lista de invitados VIP y el personal de seguridad en la entrada de un club exclusivo: solo entran quienes están en la lista de invitados (archivos de código fuente legítimos). El personal de seguridad tiene una lista negra explícita que dice: 'prohibido el ingreso a personas con mochilas de basura, cajas pesadas o sustancias peligrosas'. El `.gitignore` es ese guardia de seguridad que impide que la basura o los secretos entren al repositorio.

Explicación Paso a Paso del Tema

1

Aprender la sintaxis y patrones glob de .gitignore

Usa comodines y reglas de ruta para abarcar archivos con precisión.

El archivo se lee línea por línea. Las líneas que empiezan por `#` son comentarios. Un asterisco `*` coincide con cero o más caracteres (`*.log` ignora todos los logs). Una barra al inicio `/archivo` limita la regla a la raíz. Una barra al final `carpeta/` ignora directorios completos. El signo de exclamación `!` niega una regla anterior (`!importante.log`). Doble asterisco `**/build` ignora cualquier carpeta 'build' a cualquier profundidad.

Comando de Terminal / Código
# Reglas comunes:
node_modules/
.env
.env.local
dist/
build/
*.log
.DS_Store
Thumbs.db
Desglose de Parámetros:
Parámetro / FlagTipo / RolSignificado y Uso
*.logComodín de extensiónIgnora cualquier archivo que termine con la extensión .log
dist/Regla de directorioIgnora la carpeta de distribución compilada y todo su contenido
Consejo Profesional:

Utiliza el servicio web gitignore.io para generar plantillas automáticas y probadas según tus tecnologías (ej. Node, macOS, Windows, VisualStudioCode).

Error Común a Evitar:

Nombrar el archivo como `gitignore.txt` o `.gitignore.txt`. El nombre exacto en el sistema de archivos debe ser `.gitignore` comenzando obligatoriamente por un punto.

2

Comprender por qué .gitignore no ignora archivos ya rastreados

Entiende que `.gitignore` solo aplica a archivos nuevos (untracked).

Si ya hiciste `git add` y `git commit` de un archivo (como un `.env` o una carpeta de build) y luego añades la regla a `.gitignore`, Git continuará rastreando ese archivo. `.gitignore` solo ignora archivos que el repositorio aún no conoce. Para que la regla surta efecto en un archivo existente, debes desindexarlo de la memoria de Git.

Comando de Terminal / Código
git rm --cached ruta/al/archivo.env
Desglose de Parámetros:
Parámetro / FlagTipo / RolSignificado y Uso
git rmComando de borradoIndica a Git que deje de seguir el archivo en el repositorio
--cachedBandera de conservación físicaElimina el archivo del historial y del índice de Git, pero LO CONSERVA intacto en tu disco duro
Consejo Profesional:

Tras ejecutar `git rm --cached`, haz inmediatamente un `git commit` para sellar la exclusión en el historial.

Error Común a Evitar:

Hacer `git rm archivo.env` sin la bandera `--cached`, lo cual borrará el archivo físicamente de tu computadora y perderás tus claves locales.

3

Verificar qué regla está afectando a un archivo

Diagnostica por qué un archivo está siendo ignorado con `git check-ignore`.

Si tienes reglas complejas y no entiendes por qué Git se niega a registrar un archivo legítimo, no tienes que adivinar. El comando `git check-ignore -v <ruta-archivo>` te dirá exactamente en qué número de línea de tu `.gitignore` está la regla culpable.

Comando de Terminal / Código
git check-ignore -v src/config/app.log
Desglose de Parámetros:
Parámetro / FlagTipo / RolSignificado y Uso
check-ignoreComando de diagnósticoDepura el conjunto de reglas de exclusión activas en el proyecto
-v (verbose)Detalle explicativoImprime el archivo de origen y el número de línea que activó la exclusión
Consejo Profesional:

Crea un archivo de ejemplo `.env.example` con los nombres de las variables pero con valores ficticios y súbelo a Git para documentar qué configuraciones necesita el proyecto.

Error Común a Evitar:

Ignorar accidentalmente archivos de código fuente legítimos por usar patrones demasiado genéricos como `*.js`.

Casos Prácticos Reales en Producción

Situaciones de ingeniería reales sin mención de presupuestos ficticios.

1Caso de Producción: Filtración y Revocación de Claves de AWS en Repositorio Público

Escenario Real:

Un estudiante subió un proyecto a GitHub sin configurar `.gitignore`. En el archivo `.env` estaban expuestas sus credenciales de administración en la nube. Bots automatizados escanearon el commit en menos de 2 minutos y comenzaron a desplegar clústeres ilegítimos.

Solución de Ingeniería Aplicada:

Se revocaron de emergencia las claves en el panel del proveedor, se purgó el commit del historial con herramientas especializadas, se añadió `.env*` a `.gitignore` y se configuró una plantilla `.env.example` documentada.

Fichas Nemotécnicas de Conceptos Clave

Glosario rápido para recordar los términos fundamentales de la lección.

node_modules/

Regla obligatoria en proyectos de JavaScript para no subir los cientos de megabytes de librerías de terceros.

node_modules/
.env*

Patrón de seguridad vital que ignora archivos de variables de entorno con claves secretas de bases de datos y APIs.

.env, .env.local, .env.production
git rm --cached

Comando que remueve un archivo del índice de Git sin borrarlo físicamente del disco duro local.

git rm --cached .env
Autoevaluación Rápida3 preguntas

¿Qué es el Archivo .gitignore y Qué Reglas Debe Contener?

Selecciona una opción para autoevaluarte al instante. La respuesta se califica de inmediato.

Aciertos: 0 / 3
1

¿Cuál es la función fundamental del archivo .gitignore?

2

¿Qué comando remueve un archivo confidencial del índice de Git sin borrarlo físicamente del disco duro local?

3

¿Por qué un archivo .env ya commiteado sigue apareciendo en 'git status' aunque lo agregues después a .gitignore?

Preguntas Frecuentes (FAQ)

¿Debe el archivo .gitignore subirse a GitHub?

Sí, obligatoriamente. `.gitignore` debe formar parte del repositorio para que todos los miembros del equipo y los servidores compartan exactamente las mismas reglas de exclusión e higiene de código.

¿Se puede tener más de un archivo .gitignore en un proyecto?

Sí. Puedes tener un `.gitignore` general en la raíz y otros dentro de subcarpetas específicas; las reglas de las subcarpetas aplicarán a partir de su ubicación hacia abajo.

¿Qué es un .gitignore global?

Es un archivo de exclusiones configurado en tu máquina personal (`git config --global core.excludesfile ~/.gitignore_global`) que aplica a todos los repositorios en los que trabajes, ideal para ignorar archivos del sistema operativo como `.DS_Store`.

Temas relacionados:#.gitignore#Seguridad#node_modules#Variables de Entorno#Git