git diff e diferença entre HEAD, index e working dir.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sun, 22 Jun 2014 15:55:47 +0000 (12:55 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sun, 22 Jun 2014 15:55:47 +0000 (12:55 -0300)
Trabalhando_com_Git.mdwn

index c923ffc..f4ffdde 100644 (file)
@@ -67,3 +67,53 @@ deve ser utilizado.
 A opção -a do comando git commit adiciona as alterações e remoções ao
 índice para o commit, mas não adiciona novos arquivos, que devem ser
 adicionados com o comando git add.
 A opção -a do comando git commit adiciona as alterações e remoções ao
 índice para o commit, mas não adiciona novos arquivos, que devem ser
 adicionados com o comando git add.
+
+## Diferenças entre diretório de trabalho, índice e HEAD
+
+Para exibir a diferença entre o diretório de trabalho e o índice, pode
+ser utilizado o comando git diff.
+
+       ~/project$ git diff
+       diff --git a/INSTALL b/INSTALL
+       index e69de29..3924362 100644
+       --- a/INSTALL
+       +++ b/INSTALL
+       @@ -0,0 +1 @@
+       +# Instruções de instalação
+       ~/project$ 
+
+Ao adicionar as alterações ao índice, git diff não mostrará nenhuma
+diferença.
+
+       ~/project$ git add INSTALL
+       ~/project$ git diff
+       ~/project$
+
+Note que as alterações ainda não foram gravadas com um commit. Para
+verificar as diferenças entre o índice e o último commit, também chamado
+HEAD, use a opção --cached de git diff.
+
+       ~/project$ git diff --cached
+       diff --git a/INSTALL b/INSTALL
+       index e69de29..3924362 100644
+       --- a/INSTALL
+       +++ b/INSTALL
+       @@ -0,0 +1 @@
+       +# Instruções de instalação
+       ~/project$ 
+
+Algumas vezes, a intenção ao utilizar git diff é comparar o diretório de
+trabalho com o último commit, independente das alterações presentes no
+índice. Para tanto, deve ser especificado o parâmetro HEAD para o
+comando git diff.
+
+       ~/project$ git diff HEAD
+       diff --git a/INSTALL b/INSTALL
+       index e69de29..3924362 100644
+       --- a/INSTALL
+       +++ b/INSTALL
+       @@ -0,0 +1 @@
+       +# Instruções de instalação
+       ~/project$ 
+
+