Un solo .gitignore para todo tu stack
Este generador de .gitignore combina plantillas listas para lenguajes, frameworks, herramientas de compilación, editores y sistemas operativos en un solo archivo. Selecciona Node y Next.js, añade macOS, Windows y VS Code, y obtendrás un .gitignore organizado por secciones, sin patrones duplicados y con espacio para tus propias reglas. Las plantillas proceden de la popular colección github/gitignore y todo se procesa en tu navegador.
Cómo generar un archivo .gitignore
- 1Escribe un lenguaje, framework, editor o SO en el buscador —
python,unity,jetbrains— y haz clic para añadirlo. Pulsa Enter para seleccionar la primera coincidencia. - 2Combina tantas plantillas como requiera tu proyecto. Un proyecto web típico suele incluir un lenguaje, un framework, tu editor y tu sistema operativo.
- 3Añade rutas específicas del proyecto en Líneas personalizadas, como
/uploads/o*.sqlite. - 4Copia el resultado o pulsa Descargar como
.gitignorey colócalo en la raíz de tu repositorio.
Qué hace un archivo .gitignore
Un .gitignore indica qué archivos no debe rastrear Git: dependencias que un gestor de paquetes puede reinstalar (node_modules/, vendor/), archivos generados al compilar (dist/, target/), cachés, registros, configuración de editores y secretos como .env. Excluirlos reduce el tamaño del repositorio, facilita la lectura de los diffs y evita filtraciones accidentales de credenciales.
El archivo solo afecta a los archivos no rastreados (untracked). Si un archivo ya fue añadido a Git, incluirlo en .gitignore no lo eliminará; ejecuta git rm --cached <archivo> (o git rm -r --cached <dir>) y haz commit para dejar de rastrearlo conservando la copia local.
Sintaxis de patrones en .gitignore
El orden importa: el último patrón coincidente tiene prioridad. Por eso las excepciones como !.vscode/settings.json van después de la regla general .vscode/*.
- *.log
- Un patrón sin barras coincide a cualquier profundidad: ignora todos los archivos .log del repositorio.
- /build
- Una barra inicial ancla el patrón al directorio que contiene el .gitignore, ignorando únicamente la carpeta build de la raíz.
- dist/
- Una barra final coincide únicamente con directorios, no con un archivo llamado dist.
- **/temp
- Dos asteriscos coinciden con cualquier nivel de carpetas: una carpeta temp en la raíz o en cualquier subdirectorio.
- !.env.example
- Un signo de exclamación al inicio vuelve a incluir un archivo excluido previamente. No puede volver a incluirlo si su directorio contenedor está ignorado.
- # comentario
- Las líneas que empiezan por # son comentarios; las líneas vacías actúan como separadores. Antepón una barra invertida a # o ! para tomarlos de forma literal.
Cómo se combinan las plantillas
Cada plantilla genera una sección encabezada por ### Nombre ###. Con la opción Eliminar patrones duplicados activada, los patrones repetidos se omiten en las secciones posteriores y los comentarios vacíos se eliminan, manteniendo el archivo limpio sin perder contexto. Las reglas de exclusión (negación) se conservan en su lugar para mantener su validez lógica.
Las herramientas de compilación y los frameworks a menudo coinciden en sus reglas — Node, Next.js y Vite ignoran node_modules y logs —, por lo que desduplicar suele reducir el tamaño final en un 20 % o más.
Archivos ignore de proyecto, globales y locales
Haz commit del .gitignore del proyecto para compartirlo con tu equipo, limitándolo a lo que genera el propio proyecto. Los archivos específicos de tu máquina — .DS_Store, Thumbs.db, carpetas de tu editor — deben ir en un ignore global mediante git config --global core.excludesFile ~/.gitignore_global. Para reglas exclusivas de tu entorno en un solo repositorio, usa .git/info/exclude.
Los archivos de bloqueo como package-lock.json, poetry.lock y Cargo.lock en aplicaciones deben incluirse en Git para garantizar instalaciones reproducibles. Para verificar qué regla ignora un archivo, ejecuta git check-ignore -v ruta/al/archivo.
Mantén los secretos fuera de Git
La plantilla Env y secretos ignora archivos .env, claves privadas y credenciales comunes manteniendo .env.example. Ignorar un secreto solo protege los commits futuros: si una clave ya se subió al repositorio, renuévala de inmediato porque sigue en el historial. Herramientas relacionadas: calculadora chmod para permisos y generador de robots.txt para rastreadores.
Preguntas frecuentes
- ¿Dónde debo colocar el archivo .gitignore?
- En la raíz de tu repositorio, junto a la carpeta .git. También puedes colocar archivos .gitignore en subdirectorios; sus reglas se aplicarán a partir de esa carpeta.
- ¿Por qué Git sigue rastreando un archivo que añadí a .gitignore?
- .gitignore solo afecta a archivos nuevos o no rastreados. Ejecuta git rm --cached <archivo> (o git rm -r --cached <carpeta>) y haz commit para que Git deje de seguirlo sin borrar tu copia local.
- ¿Debo ignorar package-lock.json o yarn.lock?
- No, en aplicaciones. Los lockfiles fijan versiones exactas para que cada instalación sea idéntica y deben guardarse en el repositorio. Solo ignora lockfiles de herramientas que no utilices.
- ¿Debería ignorar .vscode o .idea?
- Generalmente solo la configuración personal. La plantilla de VS Code ignora .vscode/* pero conserva settings.json, tasks.json y launch.json compartidos; la de JetBrains ignora toda la carpeta .idea.
- ¿Cómo ignoro .DS_Store en todos mis proyectos?
- Añádelo a un archivo ignore global: crea ~/.gitignore_global con .DS_Store y ejecuta git config --global core.excludesFile ~/.gitignore_global.
- ¿Cómo ignoro todo el contenido de una carpeta excepto un archivo?
- Ignora el contenido pero no la carpeta directamente, y luego añade la negación: carpeta/* seguido de !carpeta/mantener.txt. Si usas carpeta/, se ignorará la carpeta completa y no podrás rescatar ningún archivo interior.
- ¿De dónde provienen estas plantillas?
- Proceden de la colección oficial github/gitignore bajo licencia CC0, habiendo depurado entradas obsoletas. Revisa el resultado final según las necesidades de tu repositorio.