Git Diff

1 min

Índice

  1. O que é Diff?
  2. Ver as diferenças
  3. Tipos de Diff
  4. Leitura rápida
  5. Comandos práticos

1. O que é Diff?

Git diff = ver EXATAMENTE o que mudou nos seus ficheiros.

Por que é crucial?

  • Antes de fazer commit: verificar as suas alterações
  • Debugging: compreender o que partiu
  • Review: ver o trabalho dos colegas

Em resumo: diff = os seus óculos para ver as alterações!

Voltar ao índice

2. Ver as diferenças

bash
mkdir demo-diff && cd demo-diff
git init

echo "print('Version 1')" > app.py
git add . && git commit -m "Versão inicial"

# Modificar o ficheiro
echo "print('Version 2 - Updated!')" > app.py

# Ver as alterações
git diff                    # Comparação working directory vs últimos commits

# Adicionar ao staging
git add app.py

# Ver diferença staged vs últimos commits  
git diff --staged

# Ver diferença entre 2 commits
git log --oneline          # Obter os hashes
git diff <hash1> <hash2>

Voltar ao índice

3. Tipos de Diff

ComandoCompara
git diffWorking directory vs último commit
git diff --stagedStaging area vs último commit
git diff HEADWorking directory + staging vs último commit
git diff <commit1> <commit2>Entre 2 commits específicos
git diff <branche1> <branche2>Entre 2 branches

Voltar ao índice

4. Leitura rápida

Formato típico:

diff --git a/app.py b/app.py
index abc123..def456 100644
--- a/app.py          # Ficheiro antigo
+++ b/app.py          # Ficheiro novo
@@ -1 +1 @@           # Posição das alterações
-print('Version 1')   # Linha apagada (vermelho)
+print('Version 2')   # Linha acrescentada (verde)

Leitura expressa:

  • --- e +++ = ficheiros comparados
  • - = apagado (vermelho no terminal)
  • + = acrescentado (verde no terminal)

Voltar ao índice

5. Comandos práticos

ComandoUtilidade
git diff --name-onlySó os nomes dos ficheiros modificados
git diff --statEstatísticas das alterações
git diff --word-diffDiferenças ao nível das palavras
git diff HEAD~1 HEADÚltimo commit vs penúltimo

Diff = o seu detetor de alterações. Use-o SEMPRE!

Voltar ao índice