Executar git diff branch1 branch2
Na etapa anterior, usamos git log para ver quais commits estavam presentes em diferentes partes do nosso histórico. Agora, vamos usar o comando git diff para ver as mudanças reais entre dois pontos diferentes no tempo ou entre diferentes branches. Isso é como comparar duas versões da sua máquina do tempo e ver exatamente quais partes foram adicionadas, removidas ou modificadas.
Primeiro, certifique-se de estar no diretório do seu projeto:
cd ~/project/my-time-machine
Atualmente, temos apenas um branch, master. Para demonstrar a comparação de branches, vamos criar um novo branch chamado feature-branch. Pense em um branch como uma linha do tempo alternativa onde você pode trabalhar em novos recursos ou experimentos sem afetar a linha do tempo principal (master).
git branch feature-branch
Agora, vamos mudar para o nosso novo branch:
git checkout feature-branch
Você deve ver uma saída indicando que você mudou de branch:
Switched to branch 'feature-branch'
Neste novo branch, vamos fazer uma alteração no nosso arquivo message.txt:
echo "Adding a line on the feature branch." >> message.txt
Este comando anexa uma nova linha ao arquivo message.txt.
Agora, vamos commitar essa alteração no feature-branch:
git add message.txt
git commit -m "Add a line to message.txt on feature branch"
Você deve ver uma saída semelhante a esta após o commit:
[feature-branch a1b2c3d] Add a line to message.txt on feature branch
1 file changed, 1 insertion(+)
Agora temos dois branches (master e feature-branch) com diferentes históricos de commits. O branch master tem os dois primeiros commits, e o feature-branch tem esses dois commits mais o novo commit que acabamos de fazer.
Vamos usar git diff para ver as diferenças entre o branch master e o feature-branch.
git diff master feature-branch
A saída mostrará as linhas exatas que são diferentes entre os dois branches:
diff --git a/message.txt b/message.txt
index a1b2c3d..e4f5g6h 100644
--- a/message.txt
+++ b/message.txt
@@ -1 +1,2 @@
Hello, Future Me
+Adding a line on the feature branch.
Esta saída mostra que o arquivo message.txt é diferente. A linha que começa com + indica uma linha que foi adicionada no feature-branch em comparação com o branch master.
Usar git diff é incrivelmente poderoso para entender exatamente quais mudanças foram feitas entre diferentes versões do seu projeto ou entre diferentes branches. Ele ajuda você a revisar as mudanças antes de mesclá-las e identificar onde modificações específicas ocorreram.
Pressione q para sair da visualização de diff e retornar à linha de comando.