Compare commits e branches antes de revisar uma mudança
Escolha um commit, uma comparação direta ou mudanças desde a divergência, confira a direção e revise commits fixos.
Antes de revisar, decida qual pergunta quer responder. “O que este commit mudou?” e “O que esta branch mudou desde que divergiu?” podem gerar diffs diferentes, mesmo com os mesmos nomes de branches.
Procura um app para Mac para ler mudanças commitadas? Veja o fluxo e os limites do visualizador de diff Git do Yenpo antes de seguir os passos abaixo.
Abra uma comparação
Para revisar uma branch feature em relação a main, siga estes passos, substituindo os nomes de exemplo pelas suas branches:
- Abra o repositório Git local e clique em Compare Versions… na barra lateral.
- Mude de Commit para Compare.
- Em From (base), selecione Local branches e escolha
main. Em To (head), selecione Local branches e escolhafeature. Cada coluna tem sua própria origem de branches e campo de busca. - Escolha Since the branches split para o trabalho de
featureou Direct comparison para comparar as duas pontas. A próxima seção explica a diferença. - Confira nomes e IDs curtos dos commits no resumo. Use Swap se a direção estiver invertida e clique em View Changes.
- Selecione um arquivo na árvore de mudanças para ler seu diff em linha.
Para usar origin/main, escolha Remote branches na coluna From. São referências de acompanhamento remoto armazenadas no repositório local, não uma visão ao vivo do servidor. Se precisar de commits remotos recentes, atualize com seu cliente Git habitual e reabra o seletor de comparação.
O Yenpo fixa a comparação em commits específicos. Se a branch avançar, a revisão permanece nos commits escolhidos. Para revisar a ponta atualizada, abra outra comparação.
Escolha um modo
| Pergunta | Modo | Comparação |
|---|---|---|
| O que um commit mudou? | Commit | Primeiro pai → commit; um commit raiz é comparado com uma árvore vazia |
| Como as pontas de duas branches diferem agora? | Direct comparison | Ponta da base → ponta de head |
| O que head mudou desde a divergência? | Since the branches split | Merge base → ponta de head |
Considere este histórico:
M1──M2 main
/
O───X
\
F1──F2 feature
Uma comparação direta de main → feature compara M2 com F2 e inclui trabalho dos dois lados. Since the branches split compara X com F2, normalmente a comparação desejada para “o que feature adicionou?”. Ela não simula o merge final nem informa se haverá conflitos.
Para um commit de merge, o modo Commit compara apenas com o primeiro pai. É uma perspectiva do merge, não um diff contra cada pai; confira se responde à sua pergunta.
Confira o par exato de revisões
Passe o ponteiro sobre a linha de revisão acima da árvore de mudanças para ver os IDs completos. Em Direct comparison, são os commits From e To selecionados. Em Since the branches split, a base aparece como merge-base(...) e seu ID é o ancestral comum, não a ponta da branch From.
Para conferir as mesmas versões no Git, execute estes comandos somente leitura no repositório. Substitua BASE_COMMIT_OID e HEAD_COMMIT_OID pelos dois IDs completos exibidos no Yenpo:
git show --no-patch --format='%h %s' BASE_COMMIT_OID HEAD_COMMIT_OID
git diff --stat BASE_COMMIT_OID HEAD_COMMIT_OID --
O primeiro comando identifica os commits; o segundo resume a diferença entre suas árvores commitadas. Arquivos não commitados ficam fora dessa comparação. Use os IDs registrados ao conferir uma revisão antiga: os nomes das branches podem apontar agora para commits mais recentes.
Leia o diff em contexto
A árvore de mudanças abre diffs em linha, somente leitura. Arquivos da comparação podem ficar ao lado dos atuais; confira a versão de cada aba antes de analisar chamadores ou testes. Sua árvore de trabalho pode conter mudanças ausentes no head selecionado.
Em cada mudança que afete comportamento, leia além das linhas editadas:
- Encontre um chamador capaz de alcançar o novo código.
- Identifique a entrada ou estado que o faz executar.
- Siga o retorno, erro ou efeito colateral de volta ao chamador.
- Confira se um teste existente realmente alcança esse estado.
Um teste chamado “handles concurrent reads” pode apenas fazer duas chamadas consecutivas. Leia a preparação e as asserções, não só o nome. A revisão do cache de promises mostra isso na prática.
Peça uma revisão ao AI Reader
Use Ask AI to review this comparison no cabeçalho da comparação. O botão prepara um rascunho com a comparação anexada; ainda não envia a requisição. Confira o chip da comparação, ajuste o pedido e envie quando estiver pronto. Se não conectou um modelo, siga primeiro Conecte um provedor de modelos.
Por exemplo:
Revise esta mudança procurando regressões de cancelamento e tratamento de erros. Para cada problema, informe a posição alterada, o estado que o provoca, o efeito percebido pelo usuário e o código que o sustenta. Liste separadamente os problemas já existentes na base.
Confira se cada condição sugerida pode acontecer nos commits selecionados. Se a ordem continuar incerta após ler o código, peça uma reprodução ou um teste específico e execute-o. Um teste em uma resposta ainda não foi executado.
Quando quiser corrigir algo
Conversas de comparação Git são sempre somente leitura. Para corrigir, inicie uma conversa normal na árvore de trabalho atual e ative Allow Edits. Mantenha a comparação como referência.
Depois, leia o diff da árvore de trabalho e execute as verificações do projeto. Interromper uma execução não reverte arquivos já gravados. Se havia outras mudanças, separe-as da correção antes de decidir o que commitar.