Menu
Coddy logo textTech

Git Diff

Última atualização

git diff mostra as mudanças exatas linha por linha entre dois estados do seu repositório. Sem argumentos, mostra o que você alterou mas ainda não preparou. Adicione --staged para ver o que está preparado, informe dois commits ou branches para compará-los, ou informe um arquivo para restringir.

Experimente isto no terminal playground - um shell real no seu navegador, nada para instalar.

git diff mostra as linhas exatas que mudaram entre dois estados - linhas removidas e linhas adicionadas.

Sintaxe

CommandWhat it does
git diffMudanças não preparadas em relação ao índice
git diff --stagedMudanças preparadas em relação ao último commit
git diff HEADTodas as mudanças desde o último commit
git diff main featureDiferença entre duas branches
git diff <hash1> <hash2>Diferença entre dois commits
git diff -- file.txtMudanças em um único arquivo

Casos comuns

GoalCommand
Ver o que você está prestes a fazer commitgit diff --staged
Ver o trabalho não confirmadogit diff
Comparar sua branch com a maingit diff main
Apenas os nomes dos arquivos que mudaramgit diff --name-only

Perguntas frequentes sobre git diff

O que o git diff mostra por padrão?
Sem argumentos, git diff mostra as mudanças na sua árvore de trabalho que ainda não estão preparadas - o que você editou desde o último git add. Para ver o que você já preparou (e vai confirmar a seguir), use git diff --staged; para ver tudo desde o último commit, use git diff HEAD.
Qual é a diferença entre git diff e git diff --staged?
git diff compara sua árvore de trabalho com a área de preparação (mudanças não preparadas). git diff --staged (também --cached) compara a área de preparação com o último commit (mudanças preparadas). Juntos, eles mostram as duas metades do seu trabalho não confirmado.
Como faço diff de duas branches ou commits?
Informe-os: git diff main feature mostra o que difere entre as duas branches, e git diff <hash1> <hash2> compara dois commits. Adicione -- <file> no final para limitar a comparação a um único arquivo.
Como vejo apenas quais arquivos mudaram, e não o diff completo?
Use git diff --name-only para obter apenas os nomes dos arquivos, ou git diff --stat para um resumo mostrando cada arquivo e quantas linhas mudaram. São úteis para uma visão rápida antes de ler o diff completo linha por linha.
Posso praticar isto online?
Sim. Abra o terminal playground para executar git diff em um shell real no seu navegador - nada para instalar. O curso interativo e gratuito de Git da Coddy também aborda a inspeção de mudanças passo a passo.
Coddy programming languages illustration

Aprenda Git com a Coddy

COMEÇAR