¿Qué es y qué se guarda en el archivo .gitignore?
Es uno de los elementos más importantes del proyecto.
Contiene una lista de texto con los nombres de archivos y carpetas que Git debe ignorar. Le indica a Git qué elementos NO deben guardarse en el repositorio (ya sea GitHub, GitLab o Bitbucket).
¿Qué suele incluir dentro?
Carpetas generadas automáticamente:
node_modules/,.astro/.
La carpetadist/, en caso de usar el GitHub como un repositorio para el control de versiones.En el caso de la carpeta
/dist, las Plataformas Modernas o CI/CD (Vercel, Netlify, Cloudflare Pages, GitHub Actions): se conectan al repositorio de GitHub, leen el contenido del archivo.gitignore(para no bajar por ejemplonode_modules), instalan las dependencias por su cuenta y ejecutan la instrucciónnpm run builden sus propios servidores de forma automática.- Archivos de log:
npm-debug.log*,yarn-debug.log*,yarn-error.log*,pnpm-debug.log*. - Archivos de dependencias:
package-lock.json,yarn.lock,pnpm-lock.yaml. - Archivos de compilación:
*.tsbuildinfo,*.js.map,*.css.map,*.html.map. - Archivos de sistema:
.DS_Store,Thumbs.db,vscode/,idea/,history/. - Archivos de prueba:
*.test.js,*.spec.js,*.test.ts,*.spec.ts. - Archivos de documentación generada:
docs/,coverage/,reports/. - Archivos de caché:
.cache/,.next/,.nuxt/,.vuepress/,.vite/,.parcel-cache/. - Archivos de configuración de editores:
.editorconfig,.prettierrc,.eslintrc,.stylelintrc. - Archivos de configuración de CI/CD:
.github/,.gitlab-ci.yml,.circleci/,.travis.yml. - Archivos de configuración de contenedores: Dockerfile,
docker-compose.yml,.dockerignore. - Archivos de configuración de entornos virtuales:
.venv/,env/,venv/,.python-version. - Archivos con claves secretas o variables de entorno:
.env,.env.production,.env.development,.env.test. - Archivos del sistema operativo o editores:
.DS_Store(Mac),Thumbs.db(Windows),.vscode/.
¿Se sube al hosting o producción?
✋ NO.
No cumple ninguna función en el servidor web.
Sin embargo,
👍 SÍ
...debe subirse al repositorio de GitHub, para que cualquier persona que clone el proyecto (o la plataforma de despliegue como Vercel/Netlify) sepa qué archivos omitir.
Archivo que SÍ se suben a Github
Estas carpetas y archivos se suben a GitHub si se desea que las plataformas de despliegue sean quienes construyan el proyecto.
Carpetas con el código fuente del proyecto:
src/. La más importante. Contiene todo el corazón del proyecto.public/. Todos los archivos estáticos tal cual se menciona anteriormente (imágenes puras, favicons, robots.txt, la carpeta admin/ de Decap CMS, etc.).
Archivos clave en la raíz que TAMBIÉN subes:
astro.config.mjs. Contiene la configuración del proyecto.package.jsonypnpm-lock.yaml. El primero (package.json) es CRÍTICO, ya contiene la lista de librerías que usa el proyecto para que la plataforma en la nube sepa qué instalar.README.md. Documentación del proyecto..gitignore. Indica qué archivos no deben ser versionados.tsconfig.json. Configuración de TypeScript.
Archivos .env
Los archivos .env contienen variables de entorno y claves secretas, credenciales, tokens de acceso a APIs externas o URLs de bases de datos. NO deben subirse al repositorio de GitHub.