/salvar
Versiona e envia o trabalho ao GitHub, criando o repositório privado na primeira vez. Use com “salvar”, “salva no github”, “commit”, “push”, pedido de backup ou /salvar.
Como funciona
Seção intitulada “Como funciona”O que lê
Seção intitulada “O que lê”- Estado do repositório git local (
git status,git remote -v) - Identidade global do git (nome/email)
- Ferramenta
gh(opcional, para criar o repositório remoto)
- Verificar se a pasta já é um repositório git (
git rev-parse --is-inside-work-tree); se não for, rodargit init. - Verificar se a identidade git (nome/email) está configurada; se não, perguntar UMA vez e configurar.
- Verificar se existe remoto
origin. - Sem remoto: perguntar se já existe um repositório remoto (pedir a URL) ou se deve ser criado agora.
- Se for para criar: com
ghdisponível, rodargh repo create <nome> --private --source=. --remote=origine garantir que o remoto fica em HTTPS (git remote set-url origin https://github.com/<owner>/<nome>.gitse necessário). - Sem
ghdisponível: instruir o usuário a instalar a ferramenta ou criar o repositório manualmente no GitHub e colar a URL. - Confirmar que
.env,.env.deve.env.localestão no.gitignore; se não estiverem, adicionar antes de qualquer commit. - Verificar mudanças pendentes (
git status -sb); se não houver nenhuma, informar que está tudo sincronizado e encerrar. - Mostrar o status resumido e perguntar se o usuário quer descrever a mudança numa frase ou usar mensagem gerada automaticamente.
git addsó dos arquivos de trabalho alterados (nunca.env/.env.*, nuncagit add -A/git add .cego).- Gerar mensagem de commit conventional (
feat|fix|chore|docs|refactor: <resumo>) a partir dos arquivos alterados, quando o usuário não fornecer uma. - Commitar e enviar ao remoto (
git push -u origin <branch>na primeira vez,git pushdepois). - Se o push falhar por divergência com o remoto, avisar e oferecer
git pull --ff-onlyantes de tentar de novo — nunca sobrescrever. - Confirmar a sincronização com
git status -sbe mostrar o link do repositório.
O que grava e onde
Seção intitulada “O que grava e onde”- Não gera arquivos de conteúdo — atua sobre o próprio repositório git (init, commits, push,
.gitignorequando necessário).
Pontos de aprovação
Seção intitulada “Pontos de aprovação”- Force push ou reescrita de histórico: só com pedido explícito do usuário.
- Mensagem de commit: usuário escolhe descrever ou aceitar a gerada automaticamente.
Falha cedo
Seção intitulada “Falha cedo”- Identidade git ausente: perguntar UMA vez nome/email e configurar antes de qualquer commit.
ghausente e usuário quer criar repositório novo: parar e instruir instalação (ghdesbloquearia criação automática do remoto) ou criação manual com URL colada..env/.env.*fora do.gitignore: corrigir o.gitignoreantes de prosseguir, nunca commitar segredo.- Divergência com o remoto no push: nunca forçar — avisar e propor
pull --ff-only.
Verificação final
Seção intitulada “Verificação final”git status -sb mostra a branch local sincronizada com origin (sem ahead/behind) e o commit aparece em git log -1 --oneline — confirmar antes de anunciar sucesso ao usuário.