Revisar com git o que a IA mudou: do commit inicial ao diff e ao commit final
Você aprenderá um fluxo mínimo para criar um ponto de referência com git antes de o Claude Code modificar arquivos e, depois do trabalho, revisar as mudanças reais com `git status` e `git diff`. É possível pedir à IA que explique o diff, mas o processo se baseia em a pessoa conferir o diff e os resultados da execução antes de fazer staging e commit diretamente.
Conteúdo verificado 2026.09.22Prompts para copiar
Ver o sumário
Para quem éUsuários iniciantes que querem aprender um fluxo mínimo de git para manter um ponto de retorno e um registro de revisão das mudanças criadas pelo Claude Code
Preparação
Ter expenses.csv, summarize.py e CLAUDE.md preparados na pasta vibe-expenses
Ter Git instalado e conseguir executar comandos git no terminal
Entender a saída esperada e o método de verificação da função `--by-category` do artigo anterior
01Não confunda os checkpoints da IA com git
O Claude Code cria checkpoints automáticos a cada prompt e oferece opções para restaurar código ou conversa com `/rewind`, mas a documentação oficial explica que isso não substitui um sistema de controle de versão como git. Em especial, arquivos alterados por comandos Bash como rm, mv e cp, e arquivos modificados diretamente fora do Claude Code, podem ficar fora do rastreamento ou da restauração dos checkpoints. Por isso, em trabalhos importantes, é recomendável manter um ponto de referência com git independentemente dos recursos da IA.
Recurso
Papel neste artigo
Cuidado
Checkpoint do Claude Code
Auxiliar para reverter durante a sessão
Não é um controle de versão que rastreia todas as mudanças externas
git commit
Registrar explicitamente o estado antes e depois do trabalho
A pessoa deve revisar quais arquivos entrarão no commit
git diff
Revisar as mudanças reais linha por linha
O diff original é a referência, não a explicação da IA
Resultado da execução
Confirmar que a função se comporta conforme os requisitos
Mesmo com um diff pequeno, o resultado deve ser verificado separadamente
O objetivo deste artigo não é aprender todos os recursos do git. Usaremos apenas o fluxo mínimo: fazer um commit do estado anterior, ler o diff depois das mudanças da IA, verificar o resultado da execução e então fazer o commit final.
02Faça um commit de referência antes de delegar o trabalho à IA
Se você já estiver em um repositório git, verifique primeiro o estado atual; se ainda não for um repositório, pode inicializá-lo na pasta de prática. O exemplo a seguir registra como ponto de referência anterior ao trabalho os arquivos criados até o artigo anterior. Em um projeto real, não adicione todos os arquivos automaticamente: use `git status` para verificar o que será incluído.
Prompt
cd vibe-expenses
git init
git status --short
git add expenses.csv summarize.py CLAUDE.md
git diff --cached
git commit -m "Baseline before category summary"
Se este for o primeiro commit com git neste computador, `git commit` pode parar porque não há informações do autor. Nesse caso, configure uma vez git config --global user.name "Nome" e git config --global user.email "email" e tente o commit novamente. Se pretende publicar o repositório, use um endereço de email que possa ser divulgado.
`git diff --cached` mostra as mudanças que já estão em staging e que entrarão no commit. No primeiro commit, a saída pode ser longa, mas pelo menos verifique se nenhum arquivo não planejado foi incluído. Em um repositório de trabalho real, não adicione por descuido arquivos sensíveis como `.env`, arquivos de chave ou dados pessoais. Esta série usa apenas dados fictícios desde o início.
03Delegue uma função por vez e limite os arquivos alterados
Este trabalho consiste em uma única função: adicionar a opção `--by-category` a summarize.py. Ao pedir isso ao Claude Code, restrinja o escopo e informe que não deve fazer, ao mesmo tempo, outras refatorações ou reorganizações de arquivos. Quanto menor a mudança, mais fácil é ler o diff e localizar a causa se surgir um problema.
Prompt
Adicione a opção `--by-category` apenas a summarize.py.
Não altere o resultado da execução básica e não modifique expenses.csv nem CLAUDE.md.
Não adicione pacotes externos.
Depois da alteração, diga quais arquivos você modificou.
A documentação oficial do Claude Code informa que você pode perguntar em linguagem natural quais arquivos foram alterados, por exemplo com “what files have I changed?”. No entanto, não confirme o escopo da mudança apenas pela resposta da IA; na próxima etapa, verifique o estado real mostrado pelo git.
04Leia primeiro git status e git diff por conta própria
Quando o trabalho terminar, veja primeiro os arquivos modificados com `git status --short`. Se os requisitos tiverem sido cumpridos, somente summarize.py deve aparecer como modificado. Depois, leia as mudanças reais ainda não confirmadas com `git diff -- summarize.py`. Se você olhar apenas o nome do arquivo e fizer commit imediatamente, pode deixar passar uma linha que a IA alterou incorretamente.
Prompt
git status --short
git diff -- summarize.py
Verifique se expenses.csv ou CLAUDE.md não foram modificados inesperadamente.
Verifique se a lógica básica de saída mensal não foi removida nem teve o significado alterado.
Verifique se a saída adicional é executada somente quando a condição `--by-category` está presente.
Verifique se não foram adicionados imports de pacotes não solicitados nem código que grave arquivos.
Se houver no diff uma mudança que você não entende, pergunte o motivo antes de fazer commit.
Aqui, git diff é a evidência do que realmente mudou, enquanto a explicação da IA é apenas um auxílio para interpretar essa evidência. Se as duas coisas divergirem, use como referência o diff original e os arquivos reais.
05Peça ao Claude para explicar o diff sem misturar explicação e novas alterações
Se você não estiver familiarizado com diffs, pode pedir ao Claude Code que explique as mudanças atuais. Nesse momento, não peça novas modificações ao mesmo tempo: ao solicitar primeiro apenas a explicação, a revisão não se mistura com alterações adicionais.
Prompt
Leia o git diff atual e explique o que mudou em summarize.py.
1) A parte que mantém o comportamento existente
2) A parte adicionada para `--by-category`
3) Se existe código que modifica o CSV original
4) Se algum novo pacote externo é usado
Resuma apenas estes quatro pontos. Por enquanto, não modifique mais nenhum arquivo.
Exemplo editorial
[Exemplo editorial · não é uma resposta real]
- O cálculo existente dos totais mensais é mantido e a execução básica conserva o mesmo formato.
- Foram adicionados uma estrutura de acumulação por category e a condição `--by-category`.
- Não foi adicionado código que grave no CSV de entrada.
- É usada apenas a biblioteca padrão do Python e não há novos pacotes externos.
O conteúdo acima não é o resultado de um diff realmente lido pelo Claude Code, mas um exemplo editorial do formato de explicação. Em um trabalho real, compare cada explicação diretamente com as linhas de `git diff`.
06Faça staging somente depois de verificar também a execução
Mesmo que o diff pareça correto, verificar o funcionamento é uma tarefa separada. Execute novamente os dois comandos verificados no artigo anterior para conferir a saída básica e a saída com opção. Como este artigo se concentra no fluxo do git, não repetimos o código Python; mostramos apenas os comandos de execução, supondo que será usado o summarize.py já verificado.
A execução básica deve produzir 2026-09 = 26600 e 2026-10 = 9800. Na execução com opção, você deve confirmar para 2026-09 food 20500, transport 2900 e supplies 3200. Se os valores não coincidirem, não faça commit: revise novamente o código ou o arquivo de entrada.
07Por fim, revise o staged diff e faça commit com uma mensagem descritiva
Depois de concluir a revisão e a verificação da execução, adicione ao staging apenas os arquivos modificados correspondentes. Em seguida, use `git diff --cached` para conferir mais uma vez exatamente o que entrará no commit e só então faça o commit. Embora seja possível pedir ao Claude Code que faça o commit em linguagem natural, para iniciantes é melhor aprender primeiro o fluxo de verificar pessoalmente quais arquivos serão incluídos.
A documentação oficial informa que você pode pedir um commit em linguagem natural, por exemplo com “commit my changes with a descriptive message”. Mesmo usando esse recurso, o princípio é o mesmo: revisar o diff e os arquivos-alvo imediatamente antes do commit. Se, depois do commit, `git status --short` não mostrar nada, não há mudanças rastreadas pendentes.
Momento
Comando ou ação
Objetivo da verificação
Antes do trabalho
git commit
Criar um ponto de referência para retorno
Depois do trabalho
git status --short
Verificar o escopo dos arquivos modificados
Revisão
git diff
Ler as mudanças reais linha por linha
Verificação funcional
Dois comandos de execução do Python
Confirmar que a saída esperada foi mantida
Antes do commit
git diff --cached
Revisão final do que entrará no commit
Conclusão
git commit
Registrar as mudanças revisadas como novo ponto de referência
O que conferir por conta própria
Redigido com base na explicação sobre git e checkpoints da documentação oficial do Claude Code, revisada em 2026-09-22 · Não se afirma ter executado realmente o Claude Code nem os comandos git
Confirmar que a ordem é coerente: commit de referência anterior → status/diff depois do trabalho → verificação da execução → staged diff → commit
Revisar a sintaxe de `git status --short`, `git diff -- summarize.py`, `git diff --cached -- summarize.py` e `git commit -m`
Confirmar que a limitação indicada na documentação oficial foi refletida: os checkpoints do Claude Code não substituem git
Confirmar que foi informado que mudanças feitas por comandos Bash ou fora do Claude Code podem ficar fora da restauração dos checkpoints
Confirmar que o exemplo de pedido ao Claude para explicar o diff está marcado como uma resposta não real
Confirmar que, como o corpo do artigo não inclui blocos de código Python, não há uma execução Python adicional a verificar neste artigo
Limites da verificação
Este artigo não apresenta um registro de criação real de um repositório git nem de commits delegados ao Claude Code. Os comandos formam um exemplo contínuo para aprendizado; em um projeto real, verifique separadamente a política de branches existente, `.gitignore` e a possível inclusão de informações sensíveis.
Entendemos vibe coding não como “pedir em palavras e deixar a IA fazer tudo sozinha”, mas como uma forma de trabalho em que a pessoa define os requisitos e os critérios de verificação e depois revisa o resultado gerado pela IA. Usando como exemplo uma ferramenta fictícia para somar um CSV de despesas domésticas, organizamos em uma única nota a entrada, a saída, o que não deve ser feito e como verificar o resultado.
Verificamos o comando de instalação do Claude Code e as condições de conta de acordo com o sistema operacional e iniciamos a primeira sessão em uma pasta fictícia de prática. Em vez de gerar código imediatamente, fazemos apenas três perguntas para ler a pasta e o CSV no modo plan e depois encerramos a sessão com segurança.
Praticamos o fluxo para criar uma primeira ferramenta pequena em Python usando o expenses.csv fictício e a nota de requisitos preparada anteriormente. A solicitação inclui um exemplo de entrada, a saída esperada e as restrições e, depois, executamos o summarize.py concluído na ferramenta Python do chat GPT, e não no Claude Code, para verificar o resultado.
Organizamos de forma concisa no CLAUDE.md do projeto o comando de execução, as regras de dados, as proibições e a forma de verificar resultados que antes eram repetidos em cada solicitação. Distinguimos a função de `/init` para criar um rascunho e o propósito de cada localização de arquivo e concluímos um arquivo de regras de 35 linhas adaptado ao exemplo do CSV de despesas.
Usando como exemplo a adição da opção `--by-category` a uma ferramenta já funcional que soma despesas por mês, você aprenderá a revisar primeiro o plano de mudanças no modo plan do Claude Code. Antes de implementar, definirá o escopo da alteração e o formato de saída; depois de aprovar o plano, executará o código final para verificar tanto os totais mensais existentes quanto os totais por categoria.
Em vez de apenas dizer à IA que “está dando erro”, você praticará um fluxo em que primeiro reproduz o problema com a mesma entrada, restringe a causa com base na mensagem real de exceção e solicita somente a mudança mínima. Usaremos um CSV cujo amount contém uma vírgula para reproduzir um ValueError no Python e executaremos novamente o código corrigido para verificar o resultado.
Partindo do princípio de que o Claude Code pode ler e modificar arquivos e executar comandos, este artigo reúne as verificações de segurança que iniciantes devem fazer antes, durante e depois do trabalho. Ele conecta em uma única lista as diferenças entre os modos de permissão, as mudanças que os checkpoints não conseguem restaurar, a diferença de função em relação ao git e a regra de não inserir informações secretas.