Qué hace
El generador de .gitignore crea el archivo .gitignore de tu repositorio combinando plantillas listas para usar. Elige los lenguajes, frameworks, herramientas de compilación, motores de juego, editores y sistemas operativos de tu proyecto, y la herramienta une sus reglas en un solo archivo con un encabezado ### Nombre ### por sección, listo para copiar o descargar.
Incluye unas sesenta plantillas de la colección github/gitignore: Node.js, Python, Java, Go, Rust, .NET, Swift, frameworks PHP como Laravel y Symfony, Next.js, Flutter, Android, Terraform, Unity, Unreal Engine, Godot, VS Code, los IDE de JetBrains, Vim, Emacs, macOS, Windows, Linux y más. Todo se ejecuta en tu navegador; no se envía ninguna petición.
Cómo usarlo
- Haz clic en las plantillas de la lista para añadirlas. El buscador también reconoce alias comunes: «typescript» encuentra Node.js e «intellij» encuentra JetBrains.
- Las plantillas elegidas aparecen arriba como etiquetas, en el orden en que las seleccionaste, y el archivo sigue ese orden. Haz clic en una etiqueta para quitarla, o en Borrar para empezar de nuevo.
- Añade entradas propias del proyecto en Reglas personalizadas, separadas por comas, por ejemplo
.env, /dist, *.local. Se añaden al final en una sección### Custom ###. - Decide si conservar los comentarios explicativos de las plantillas y si quitar reglas que una plantilla anterior ya incluía.
- Copia el resultado o descárgalo. La descarga se llama
.gitignore; guárdala en la raíz del repositorio.
La selección se guarda en la dirección de la página, así que puedes guardar un marcador o compartir un enlace que reproduce el mismo archivo.
Ejemplo
Si eliges Node.js, macOS y VS Code con la regla personalizada .env.local y los comentarios desactivados, obtienes un archivo como este (abreviado):
### Node.js ###
logs
*.log
npm-debug.log*
…
node_modules/
…
### macOS ###
.DS_Store
.AppleDouble
.LSOverride
…
### VS Code ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
!*.code-workspace
*.vsix
### Custom ###
.env.local
Los patrones que empiezan por ! vuelven a incluir algo que una regla anterior excluyó; aquí la configuración, las tareas y los lanzadores compartidos de VS Code se quedan en el repositorio mientras el estado personal del editor se ignora. Añadir .env como regla personalizada no cambiaría nada, porque la plantilla de Node.js ya la incluye.
Consejos
- Pon las reglas de tus herramientas personales (archivos de intercambio del editor, metadatos del sistema) en un archivo de exclusión global para que todos los repositorios se beneficien sin repetirlas.
- Una barra final como
build/solo coincide con directorios; una barra inicial como/buildancla la regla a la raíz del repositorio. - Usa
git check-ignore -v <ruta>para ver qué línea de qué archivo de exclusión coincide con una ruta. - No confíes en .gitignore para proteger secretos ya confirmados: cámbialos y reescribe el historial.
Preguntas frecuentes
› ¿De dónde salen las plantillas?
Son copias incluidas de la colección oficial github/gitignore, que GitHub publica bajo la dedicación de dominio público CC0. No se descarga nada al usar la herramienta: las plantillas vienen con la página.
› ¿Por qué un archivo sigue rastreado después de añadirlo a .gitignore?
.gitignore solo afecta a archivos no rastreados. Si el archivo ya se confirmó antes, quítalo del índice con git rm --cached <archivo> (o -r para una carpeta) y haz commit; el archivo sigue en el disco y desde entonces se ignora.
› ¿Qué hace Quitar reglas duplicadas?
Muchas plantillas comparten reglas: Java y Kotlin ignoran *.class, C y C++ ignoran *.o. Con la opción activada, cada regla se escribe solo la primera vez que aparece, y también se elimina el comentario de encabezado cuyas reglas se quitaron todas. Desactívala para obtener cada plantilla tal como se publicó.
› ¿Debo hacer commit del archivo .gitignore?
Sí. Un .gitignore confirmado se aplica a todos los que clonan el repositorio. Las reglas que solo afectan a tu equipo, como tu editor o sistema operativo, también pueden ir en un archivo de exclusión global (git config --global core.excludesFile ~/.gitignore_global).