Digite para filtrar os verbetes do Glossário.

    Git e qualidade · Developer Workspace

    O que é Diff?

    Diff compara estados de conteúdo entre duas versões de um arquivo. Entenda o que git diff e --staged mostram e por que um resultado vazio pode enganar.

    Também chamado de: diferença entre versões, comparação de alterações

    Como o Git apresenta diferenças

    O diff (comparação entre estados de conteúdo) apresenta diferenças entre duas versões. Em arquivos de texto, normalmente mostra linhas removidas, linhas acrescentadas e trechos próximos que ajudam a localizar a alteração.

    Você precisa conhecer os dois estados comparados para interpretar o resultado. O mesmo arquivo pode ter diferenças distintas entre o último commit, a área de preparação e o conteúdo atual no disco.

    Escolher a comparação correta

    Sem argumentos, git diff mostra mudanças da árvore de trabalho em relação à área de preparação. Já git diff –staged mostra o conteúdo preparado em relação a HEAD, que normalmente identifica o commit atual.

    A forma git diff HEAD compara os arquivos rastreados da árvore de trabalho com esse commit. Nenhuma dessas leituras deve substituir a consulta ao status quando você precisa localizar arquivos novos ainda não rastreados.

    Consultar diferenças em estados distintosbash
    git diff
    git diff --staged
    git diff HEAD
    git status --short

    Os comandos consultam o estado sem preparar arquivos ou criar commits. Seus resultados respondem a perguntas diferentes, então um resultado vazio no primeiro não torna os demais desnecessários.

    Comparar branches exige conhecer a base

    Uma comparação entre as pontas de duas branches responde ao que difere entre seus estados atuais. Uma comparação a partir do ancestral comum destaca o que uma das linhas acrescentou desde a separação.

    Essas perspectivas podem produzir resultados diferentes quando ambas avançaram. Em um pull request, confira a base e a forma de comparação usada pela plataforma antes de concluir que uma alteração foi incluída ou removida da proposta.

    Ler além das linhas coloridas

    Uma mudança pequena pode alterar uma condição usada por várias funções. Leia o trecho completo e suas chamadas quando a comparação não mostrar informação suficiente para entender a consequência.

    Arquivos binários e conteúdo gerado também podem exigir outra forma de inspeção. A representação textual disponível não garante que todos os efeitos relevantes estejam visíveis naquele painel.

    Relacionar a diferença ao comportamento

    Use a comparação para localizar alterações que exigem conferência e execute os testes do comportamento modificado. Se uma validação define um limite, confira o valor aceito e aqueles imediatamente abaixo e acima dele.

    O commit registra o estado que poderá ser comparado mais tarde. Manter a relação entre esse registro e os testes evita atribuir à versão final uma conferência feita sobre outro conteúdo.

    Dúvidas frequentes

    Perguntas frequentes sobre Diff

    git diff compara sempre com o último commit?
    Não. Sem argumentos, ele compara a árvore de trabalho com a área de preparação. Para comparar os arquivos rastreados com HEAD, use git diff HEAD.
    git diff --staged mostra o quê?
    Mostra o conteúdo preparado em relação a HEAD, por padrão. É a comparação usada para examinar o que foi colocado na área de preparação para o próximo commit.
    Uma comparação vazia significa que não existe trabalho pendente?
    Não necessariamente. A comparação pode estar olhando os estados errados, e arquivos ainda não rastreados não aparecem no resultado padrão. Confira também o status.
    Diff comprova que o sistema funciona?
    Não. Ele mostra diferenças entre os estados escolhidos. A interpretação precisa considerar dependências e testes do comportamento afetado.

    Para continuar

    Recursos relacionados

    Aplicação na formação

    Developer Workspace

    A comparação dos arquivos permite examinar mudanças entre versões durante a revisão do projeto.

    Conhecer a formação
    Capa da Formação Developer Workspace

    Fontes consultadas

    Referências deste verbete

    Este verbete ajudou você?

    Planos Promovaweb

    Tire seus projetos do papel

    O Plano Martech cobre automação e atendimento. O Plano IA Makers acrescenta desenvolvimento com IA, enquanto o Plano Founders trata de gestão de negócios. Todos são anuais.

    Plano Martech

    Para conectar automação, marketing e atendimento com infraestrutura própria.

    R$ 897

    R$ 597/ano

    • Grade de automação, atendimento, marketing e análise de indicadores
    • Instalador Exclusivo Promovaweb
    • n8n, Evolution API, Chatwoot e Mautic
    • Trilha DevOps incluída
    • Encontros ao vivo (terça e quinta)
    • Comunidade e acompanhamento
    Conhecer o plano

    Plano Founders

    Plano anual para fazer um projeto de tecnologia avançar, com 90 dias de mentoria intensiva. R$ 1.997 à vista ou até 10x de R$ 219 no cartão.

    R$ 1.997/ano

    • 12 meses de acesso ao Founders
    • 90 dias de mentoria intensiva, um encontro por dia útil
    • Dia de conteúdo (terça e quinta) e War Room (segunda, quarta e sexta)
    • Encontro semanal em grupo após a fase intensiva
    • Formação Vibe Coding incluída no plano anual
    • Consultoria individual de até duas horas (bônus)
    Conhecer o plano