Flujo de trabajo de Git y GitHub
Remoto: origin = https://github.com/TTT-b/stremio-ai-translator. Rama por defecto: main. Comandos de PowerShell para Windows.
Inicio del trabajo
git status -sbygit fetch origin.- Si el árbol de trabajo está limpio:
git pull --ff-only. Si no está limpio, deténgase e informe al usuario qué está modificado.
Mientras trabaja
- Trabaje en una rama para cualquier cambio no trivial:
git switch -c <nombre-corto>. Las correcciones pequeñas y seguras pueden ir directamente amainsolo si el usuario lo indica. - Realice commits pequeños y enfocados. Mensaje:
vX.Y.Z: resumen brevepara lanzamientos, de lo contrariotipo: resumen breve(fix:,feat:,docs:,test:,chore:). - Añada archivos por nombre (
git add <archivo>), nuncagit add .o-Aa ciegas. Primero revisegit diff --staged. - Nunca commitee
.env,settings.json,data/,logs/,node_modules/,dist-electron/,release/, tokens o claves de API. Si un secreto fue commiteado, deténgase e indique al usuario que lo rote. - Ejecute
npm run checkantes de cada commit. No commitee mientras falle.
Push
- Haga push solo cuando el usuario lo solicite. Push normal:
git push. Nunca--forceenmain. Si realmente se necesita un push forzado en una rama personal, use--force-with-leasey pregunte primero. - Lanzamientos: incremente
versionenpackage.json, actualice README/TROUBLESHOOTING si el comportamiento cambió, haga commit, luegogit tag vX.Y.Zygit push --follow-tagssolo después de la confirmación del usuario. Cada etiqueta debe apuntar a su propio commit.
Verificaciones de lanzamiento (cada lanzamiento, no solo cuando algo parece incorrecto)
npm run checkpasa (incluye la prueba de queRELEASE_NOTEStiene notas en he y en para la versión enpackage.json).- La versión en
package.jsones superior a la última etiqueta publicada (git tag --sort=-v:refname | Select-Object -First 1); el actualizador dentro de la aplicación solo ofrece versiones superiores. - Construya con
npm run disty haga que el usuario lo instale desderelease/primero; espere su aprobación antes de publicar. - Después de publicar,
gh release view vX.Y.Zdebe listar el instalador.exe, su.blockmapylatest.yml. Sinlatest.yml, la opción "buscar actualizaciones" dentro de la app no encuentra nada. - Indique al usuario que presione "Buscar actualizaciones" en la versión anterior y confirme que ofrece la nueva.
Sincronización con el portátil/teléfono
- El escritorio es la máquina de trabajo. Cuando el usuario dice que GitHub está actualizado:
git fetch origin, muestregit log --oneline HEAD..origin/main, luegogit pull --ff-only. Si no puede hacer fast-forward, muestre la divergencia y pregunte antes de fusionar o rebasar.
Configuración recomendada de GitHub (el usuario la establece en la interfaz web)
Configuración del Repositorio -> Ramas: proteger main (requerir pull request, bloquear push forzados, bloquear eliminación). Configuración -> Seguridad del código: habilitar escaneo de secretos con protección push, alertas de Dependabot y actualizaciones de seguridad de Dependabot. Configuración -> General: habilitar "Eliminar automáticamente ramas head". Cuenta: activar la autenticación de dos factores.