Un `.gitignore` bien construido evita filtrar secretos, subir gigabytes de dependencias o contaminar el historial con artefactos. Este generador crea archivos `.gitignore` combinando plantillas por lenguaje, framework y sistema operativo, exactamente igual que hace github.com/github/gitignore pero al vuelo y sin salir del navegador.
Qué debe estar siempre ignorado
Directorios de dependencias (`node_modules/`, `vendor/`, `venv/`), builds (`dist/`, `build/`, `target/`), archivos de IDE (`.idea/`, `.vscode/`), OS junk (`.DS_Store`, `Thumbs.db`) y todo lo relacionado con secretos (`.env`, `*.pem`, `*.key`). Nunca ignores archivos que sí forman parte del código fuente, como configuración compartida.
Patrones y precedencia
Los patrones se evalúan de arriba a abajo y la última coincidencia gana. `**/logs` iguala en cualquier profundidad. Un `!archivo` reintroduce excepciones. Un `/` inicial ancla al root del repo; sin él, matchea a cualquier nivel. Un `/` final restringe a directorios.
Qué hacer si ya subiste algo por error
`git rm --cached <archivo>` lo saca del índice sin borrarlo del disco. Añádelo al `.gitignore` y haz commit. Si eran credenciales, considera el historial contaminado: rota el secreto inmediatamente y reescribe con `git filter-repo` si fuera crítico.
Casos de uso comunes
- Iniciar un repo nuevo con las plantillas adecuadas.
- Auditar un `.gitignore` existente contra las plantillas oficiales.
- Combinar reglas de varios lenguajes en un monorepo.