El archivo clave .gitignore
Al usar Git, el comando cotidiano más tecleado suele ser git add . que prepara todos los archivos de tu carpeta que hayan sufrido algún cambio para ser guardados.
Sin embargo, hay muchísimos archivos y carpetas que jamás deberían registrarse ni subirse a GitHub:
- Dependencias Pesadas: Como la insufrible carpeta
node_modules/en Node/React, que puede pesar cientos de megas e instalarse fácilmente con un simple comando (npm install). - Archivos del Sistema Operativo: Como
.DS_Storeen Mac oThumbs.dben Windows. Crean basura innecesaria para el resto de programadores de tu equipo. - Archivos de entorno y credenciales (Crucial): Como archivos
.envque contienen las contraseñas reales de tus bases de datos, claves de APIs privadas o tokens de sesión. Añadir esto a tu Git histórico compromete la seguridad de tu sistema, es el peor error de principiante imaginable. - Archivos Compilados: Archivos de tipo log (ej.
log/debug.log) o.exe,.distgenerados, el código pre-compilado de TypeScript/SCSS, etc.
¿Cómo ignoro estos archivos?
Para indicarle a Git de forma explícita qué elementos debe volverse "ciego" y olvidarlos permanentemente, utilizamos un archivo invisible en el sistema ubicado en la raíz del proyecto llamado, y debe llamarse así con punto al inicio: .gitignore .
Ejemplo de un archivo .gitignore en React/Next/Node común
Tú creas este archivo en blanco al inicio de tu proyecto en la base de la carpeta, y defines allí rutas específicas:
# dependencias
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
# builds generados para producción
dist/
out/
build/
.next/
# entorno
.env
.env.local
# sistema operativo
.DS_Store
Thumbs.db
Una vez que un archivo o carpeta es listado dentro de .gitignore, no importa cuántas veces teclees git add ., ese archivo jamás terminará en la sala de espera ni en la nube, evadiendo errores graves y manteniendo el repositorio local y el remoto GitHub limpios y ligeros.