O comando diff
do Git é inestimável para entender as mudanças em seu projeto. Ele permite comparar diferentes versões dos seus arquivos, identificar modificações e revisar as alterações antes de commitá-las. Este tutorial abrangerá os usos principais do git diff
, focando em clareza e aplicação prática.
Sumário
- Comparando sua cópia de trabalho com o repositório
- Comparando a área de staging com o repositório
- Usando ferramentas de diff externas
- Opções avançadas do
git diff
Comparando sua cópia de trabalho com o repositório
Sua cópia de trabalho representa os arquivos do projeto na sua máquina local. O repositório armazena o histórico de versões gerenciado pelo Git. git diff
(sem argumentos) mostra as alterações não-preparadas na sua cópia de trabalho:
git diff
A saída mostra adições (+
), deleções (-
) e modificações. Por exemplo:
--- a/my_file.txt
+++ b/my_file.txt
@@ -1,3 +1,4 @@
This is line 1
This is line 2
+This is a new line
This is line 3
Isso indica uma nova linha adicionada a my_file.txt
. --- a/
e +++ b/
representam as versões antiga e nova do arquivo. Para comparar um arquivo específico:
git diff my_file.txt
Comparando a área de staging com o repositório
A área de staging contém as alterações que você preparou para o próximo commit. git diff --staged
(ou git diff --cached
) revela a diferença entre as alterações preparadas e o último commit:
git diff --staged
Isso é crucial para revisar as alterações antes de commitar. Você pode especificar nomes de arquivos para limitar a comparação.
Usando ferramentas de diff externas
O diff baseado em texto padrão do Git pode ser desafiador para alterações complexas. Ferramentas de diff externas oferecem comparações visuais, destaque de sintaxe e outros recursos úteis. Configure uma ferramenta externa (como Meld, KDiff3, Beyond Compare) usando git config
:
git config --global diff.external meld
Substitua meld
pelo comando da sua ferramenta. Consulte a documentação da sua ferramenta para o comando correto e quaisquer ajustes específicos do sistema necessários.
Opções avançadas do git diff
git diff
oferece muitas outras opções. Por exemplo:
git diff --check
: Detecta erros de espaço em branco.git diff --summary
: Fornece um resumo conciso das alterações.git diff <commit1>..<commit2>
: Compara dois commits.git diff --word-diff
: Destaca as alterações palavra por palavra.
Experimente essas opções para adaptar o git diff
ao seu fluxo de trabalho. Dominar o git diff
é essencial para o uso eficiente do Git.