Generador de .gitignore

Crea un archivo .gitignore marcando los lenguajes, frameworks y editores que usas — Node.js, Python, Java, macOS, Windows, VS Code y más — sin duplicados y listo para descargar.

234 visitas

Cómo Funciona

Marca las casillas que correspondan a tu proyecto — un lenguaje o entorno de ejecución como Node.js, Python o Java, un sistema operativo como macOS, Windows o Linux, un editor como VS Code o IntelliJ/JetBrains, además de un bloque para los archivos residuales propios de Git y otro para .env y secretos. Cada casilla añade un pequeño conjunto de patrones de exclusión bien establecidos, extraídos de las convenciones que la comunidad realmente utiliza — node_modules/ para Node, __pycache__/ y .venv/ para Python, *.class y target/ para Java, .DS_Store para macOS, Thumbs.db para Windows, y así sucesivamente. A medida que marcas más casillas, la herramienta combina todo en una sola lista, elimina los duplicados exactos y muestra el resultado en vivo en un cuadro de texto que puedes copiar o descargar directamente como un archivo llamado .gitignore.

El motivo para combinar categorías en lugar de escribir una desde cero es que la mayoría de los proyectos reales pertenecen a varias categorías a la vez: una API de Node.js desarrollada en un Mac con VS Code necesita el bloque de Node para los artefactos de compilación, el bloque de macOS para que .DS_Store nunca se cuele en un pull request, y el bloque de VS Code para que tus ajustes personales de editor no sobrescriban los de un compañero de equipo. Marcar los tres y descargar de una sola vez es más rápido y menos propenso a errores que ensamblar patrones de memoria o copiar y pegar fragmentos de proyectos antiguos.

Datos Útiles

Un archivo .gitignore solo afecta a los archivos que Git aún no conoce — le indica a Git qué archivos sin seguimiento excluir de git status, git add . y los futuros commits. No tiene ningún efecto sobre los archivos que ya están bajo seguimiento (ya confirmados al menos una vez). Este es el malentendido más común: añadir .env al .gitignore después de que ya se ha confirmado no lo elimina del repositorio ni impide que Git siga registrando sus cambios. Para dejar de seguir un archivo de verdad, primero hay que ejecutar git rm --cached <archivo> (lo que lo quita del índice de Git pero lo deja en el disco), confirmar esa eliminación, y solo entonces la regla correspondiente de .gitignore entra en vigor de ahí en adelante.

La mayoría de los patrones que ofrece esta herramienta provienen del repositorio oficial github/gitignore de GitHub, la fuente más consultada para plantillas específicas de lenguajes y herramientas, y la misma colección que GitHub ofrece cuando creas un nuevo repositorio desde su interfaz web. Mantener fuera del control de versiones las carpetas de dependencias como node_modules/ y los resultados de compilación como dist/ o target/ importa por el tamaño — estas carpetas pueden superar fácilmente varias veces el peso de tu código fuente real y se regeneran sin esfuerzo a partir de un archivo de bloqueo o un script de compilación — mientras que mantener fuera archivos como .env, *.pem y *.key importa por seguridad: confirmar un secreto en el historial de Git lo vuelve prácticamente público para siempre, porque eliminarlo del último commit no lo borra de los anteriores sin reescribir todo el historial.

Preguntas Frecuentes

Añadí un archivo a .gitignore pero Git sigue rastreándolo — ¿por qué?

.gitignore solo impide que Git rastree archivos que todavía no conoce. Si el archivo ya se había confirmado antes de añadir la regla, Git seguirá rastreándolo sin importar lo que diga .gitignore. Corrígelo con git rm --cached <archivo> (o git rm -r --cached <carpeta> para una carpeta) y luego confirma ese cambio — a partir de ese momento la regla de .gitignore entra en vigor.

¿Puedo combinar varias categorías, como Node.js, macOS y VS Code a la vez?

Sí — es el caso más habitual. Marca todas las casillas que correspondan a tu configuración y la herramienta combina todos los patrones resultantes en una sola lista, eliminando los duplicados exactos para que la misma línea nunca aparezca dos veces.

¿De dónde vienen estos patrones de exclusión?

Siguen las mismas convenciones que el repositorio oficial de plantillas github/gitignore de GitHub, la referencia estándar a la que apuntan la mayoría de las herramientas y tutoriales. Son los mismos patrones de archivos y carpetas que obtendrías al generar una plantilla con la opción "Add .gitignore" del propio GitHub al crear un repositorio.

¿Por qué node_modules/ o .env nunca deberían confirmarse?

node_modules/ es una caché de dependencias que se puede regenerar en segundos a partir de package.json/package-lock.json — confirmarla infla el repositorio con megabytes (a veces gigabytes) de archivos redundantes. .env es distinto: normalmente contiene claves de API, contraseñas de bases de datos u otros secretos, y en cuanto un secreto entra en el historial de Git debe considerarse comprometido, porque eliminarlo del último commit no lo quita de los commits anteriores — solo reescribir el historial (y rotar el secreto) soluciona esto de verdad.

¿Hay que renombrar el archivo descargado?

No. El botón de descarga guarda el archivo con el nombre exacto que Git espera — .gitignore, con un punto inicial y sin extensión — así que puedes colocarlo directamente en la carpeta raíz de tu proyecto antes de tu primer commit.

Comentarios

Aún no hay comentarios — ¡sé el primero en escribir uno!

Herramientas Similares