El mejor momento para escribir un .gitignore es antes del primer commit. Una vez que algo está en el historial, eliminarlo es mucho más difícil.
Parte de una plantilla
Elige los lenguajes, frameworks y editores que usas y genera un archivo combinado como base. Las plantillas ya incluyen las entradas estándar, como las carpetas de dependencias y la salida compilada. Después añade las líneas propias del proyecto.
Una lista de qué ignorar
- Dependencias:
node_modules/,vendor/, entornos virtuales. Se restauran desde los archivos de bloqueo. - Salida de compilación:
dist/,build/,target/,.next/, binarios compilados. - Secretos:
.env,.env.local, claves privadas, archivos de credenciales. Sube en su lugar un.env.examplecon valores de ejemplo. - Registros y archivos temporales:
*.log,tmp/, cachés. - Salida de pruebas y cobertura:
coverage/, informes de pruebas. - Archivos de editor y SO:
.idea/,.vscode/(salvo que el equipo comparta ajustes),.DS_Store. - Bases de datos locales y subidas:
*.sqlite, carpetasstorage/.
Sí se sube
Los archivos de bloqueo como package-lock.json o composer.lock normalmente deben subirse para que todos instalen las mismas versiones.
Si un secreto ya se subió
Ignorar el archivo ahora no lo elimina del historial.
- Trata el secreto como comprometido y revócalo o rótalo de inmediato.
- Quita el archivo del índice con
git rm --cached. - Si debe desaparecer del historial, usa una herramienta de reescritura del historial y haz un push forzado, lo que afecta a todos los que tengan un clon. Coordínate con tu equipo.
Rotar el secreto es el paso que de verdad te protege.
Verifica
Ejecuta git status para confirmar que los archivos no deseados no aparecen. Usa git check-ignore -v para ver qué regla oculta un archivo y revisa git diff --staged antes de cada commit.
Preguntas frecuentes
¿Debo ignorar la carpeta de mi IDE? Ignora los ajustes personales y comparte los del equipo de forma deliberada.
¿Es mejor un gitignore global para los archivos de editor? A menudo sí, ya que mantiene las reglas del editor fuera de cada proyecto.

