Uso de IA no trabalho

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.

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.

RecursoPapel neste artigoCuidado
Checkpoint do Claude CodeAuxiliar para reverter durante a sessãoNão é um controle de versão que rastreia todas as mudanças externas
git commitRegistrar explicitamente o estado antes e depois do trabalhoA pessoa deve revisar quais arquivos entrarão no commit
git diffRevisar as mudanças reais linha por linhaO diff original é a referência, não a explicação da IA
Resultado da execuçãoConfirmar que a função se comporta conforme os requisitosMesmo 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.

Prompt
python summarize.py expenses.csv
python summarize.py expenses.csv --by-category

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.

Prompt
git add summarize.py
git diff --cached -- summarize.py
git commit -m "Add category summary option"
git status --short

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.

MomentoComando ou açãoObjetivo da verificação
Antes do trabalhogit commitCriar um ponto de referência para retorno
Depois do trabalhogit status --shortVerificar o escopo dos arquivos modificados
Revisãogit diffLer as mudanças reais linha por linha
Verificação funcionalDois comandos de execução do PythonConfirmar que a saída esperada foi mantida
Antes do commitgit diff --cachedRevisão final do que entrará no commit
Conclusãogit commitRegistrar 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.