El archivo .gitignore
No todo lo que hay en la carpeta de tu proyecto merece guardarse. Hay archivos basura, archivos enormes y —muy importante— archivos con contraseñas que NUNCA deberían salir de tu ordenador. El archivo .gitignore es el portero que decide qué se queda fuera.
Escucha la lección
Qué es el .gitignore
.gitignore es un archivo de texto, muy sencillo, donde escribes los nombres de los archivos y carpetas que quieres que Git ignore. Lo que pongas ahí, Git hace como que no existe: no lo guarda en los commits y no lo sube a ningún sitio.
Se crea en la carpeta principal de tu proyecto, con ese nombre exacto: un punto delante y "gitignore", sin extensión. Dentro, escribes una cosa por línea:
node_modules/
.env
.DS_Store
*.log
Ese ejemplo le dice a Git: ignora la carpeta node_modules, ignora el archivo .env, ignora los archivos del sistema y cualquier archivo que termine en .log.
¿Qué conviene ignorar? (esto te ahorra disgustos)
Tres tipos de cosas, y la tercera es la importante de verdad:
1. Basura del sistema. Archivos que crea tu ordenador solo, que no aportan nada (.DS_Store en Mac, Thumbs.db en Windows).
2. Carpetas enormes que se regeneran solas. Como node_modules en proyectos web: pesa muchísimo y se vuelve a crear sola, así que no tiene sentido guardarla.
3. ⚠️ Tus secretos y contraseñas. Este es el más importante. Los archivos con claves, contraseñas o tokens (muchas veces en un archivo llamado .env) NUNCA deben subirse. Si subes tus contraseñas a GitHub, quedan a la vista de cualquiera — y es uno de los errores más comunes y peligrosos que existen.
Regla de oro: antes de subir nada por primera vez, asegúrate de que tu .gitignore incluye .env y cualquier archivo con contraseñas. Lo que no se sube, no se filtra.
¿No programas? Te lo explico fácil · sin tecnicismos
Imagina que vas a hacer una foto de tu salón para enseñárselo a alguien.
Hay cosas que no quieres que salgan en la foto: el montón de ropa por planchar, una carta privada encima de la mesa, las llaves de casa. Así que haces una lista mental de "esto no sale en la foto".
El .gitignore es justo esa lista. Cuando Git hace la foto de tu proyecto (el commit), mira la lista y deja fuera todo lo que pusiste ahí. La ropa por planchar (los archivos basura), los muebles que ocupan mucho (las carpetas enormes) y, sobre todo, la carta privada y las llaves (tus contraseñas).
Lo de las llaves es lo más importante: nunca, nunca dejes que tus contraseñas salgan en la foto.
Glosario
.gitignore
Archivo de texto que lista patrones de archivos y carpetas que Git debe ignorar, excluyéndolos del control de versiones.
La lista de "esto no sale en la foto": los archivos que le dices a Git que no guarde ni suba.
Archivo .env
Archivo donde se guardan variables de entorno, normalmente claves y contraseñas. Debe ignorarse siempre para no exponer secretos.
El archivo donde suelen estar tus contraseñas y claves. El que JAMÁS hay que subir a internet.
node_modules
Carpeta de proyectos JavaScript que contiene las dependencias instaladas. Pesa mucho y se regenera, por eso se ignora.
Una carpeta gigante de los proyectos web que se crea sola. Por eso se ignora: no merece la pena guardarla.
