Fluxo de trabalho Git e GitHub
Remoto: origin = https://github.com/TTT-b/stremio-ai-translator. Branch padrão: main. Comandos Windows PowerShell.
Início do trabalho
git status -sbegit fetch origin.- Se a árvore de trabalho estiver limpa:
git pull --ff-only. Se não estiver limpa, pare e informe ao usuário o que foi modificado.
Durante o trabalho
- Trabalhe em uma branch para qualquer alteração não trivial:
git switch -c <nome-curto>. Correções pequenas e seguras podem ir diretamente paramainapenas se o usuário autorizar. - Faça commits pequenos e focados. Mensagem:
vX.Y.Z: resumo curtopara releases, caso contráriotipo: resumo curto(fix:,feat:,docs:,test:,chore:). - Adicione arquivos pelo nome (
git add <arquivo>), nuncagit add .ou-Acegamente. Verifiquegit diff --stagedprimeiro. - Nunca faça commit de
.env,settings.json,data/,logs/,node_modules/,dist-electron/,release/, tokens ou chaves de API. Se um segredo foi commitado, pare e informe ao usuário para rotacioná-lo. - Execute
npm run checkantes de cada commit. Não faça commit enquanto ele falhar.
Enviando (push)
- Envie apenas quando o usuário solicitar. Push normal:
git push. Nunca--forcenamain. Se um force push for realmente necessário em uma branch pessoal, use--force-with-leasee pergunte primeiro. - Releases: incremente
versionempackage.json, atualize README/TROUBLESHOOTING se o comportamento mudou, faça commit, entãogit tag vX.Y.Zegit push --follow-tagsapenas após o usuário confirmar. Cada tag deve apontar para seu próprio commit.
Verificações de release (toda release, não apenas quando algo parece errado)
npm run checkpassa (inclui o teste de queRELEASE_NOTEStem notas em pt e en para a versão empackage.json).- A versão em
package.jsoné maior que a última tag publicada (git tag --sort=-v:refname | Select-Object -First 1); o atualizador no aplicativo só oferece versões mais altas. - Compile com
npm run diste peça ao usuário para instalar a partir derelease/primeiro; aguarde a autorização deles antes de publicar. - Após a publicação,
gh release view vX.Y.Zdeve listar o instalador.exe, seu.blockmapelatest.yml. Semlatest.yml, a opção "verificar atualizações" no aplicativo não encontra nada. - Peça ao usuário para pressionar "Verificar atualizações" na versão anterior e confirmar que a nova versão é oferecida.
Sincronizando com o notebook/celular
- O desktop é a máquina de trabalho. Quando o usuário disser que o GitHub está atualizado:
git fetch origin, mostregit log --oneline HEAD..origin/main, depoisgit pull --ff-only. Se não for possível fazer fast-forward, mostre a divergência e pergunte antes de fazer merge ou rebase.
Configurações recomendadas do GitHub (definidas pelo usuário na interface web)
Configurações do Repositório -> Branches: proteja main (exija pull request, bloqueie force pushes, bloqueie exclusão). Configurações -> Segurança de código: ative varredura de segredos com proteção contra push, alertas Dependabot e atualizações de segurança Dependabot. Configurações -> Geral: ative "Excluir automaticamente branches head". Conta: ative a autenticação de dois fatores.