Presumo que seja um erro de configuração em algum lugar, mas não consigo descobrir onde. Comandos git regulares parecem funcionar bem, mas "git diff" não faz nada. Por segurança, removi as ferramentas diff externas do meu arquivo .gitconfig. Ele foi instalado via MacPorts e é a versão mais recente (1.7.2.2).
O que vejo é que quando executo "git diff" em minha área de trabalho, ele simplesmente sai, sem fazer nada.
$ git --version
git version 1.7.2.2
$ git diff
$
Se eu fizer backup de um diretório, fora do meu espaço de trabalho raiz, digitar "git diff" me dará o seguinte:
$ git diff
usage: git diff [--no-index] <path> <path>
Este pode ser o comportamento esperado, já que não estou em um repositório git.
Alguma ideia sobre o que posso fazer para solucionar isso?
git diff
fora de um repo logo ficará mais clara. Veja minha resposta abaixoRespostas:
A saída padrão para
git diff
é a lista de mudanças que não foram confirmadas / adicionadas ao índice. Se não houver alterações, não há saída.Veja a documentação para mais detalhes. Em particular, role para baixo até os exemplos e leia esta seção:
Fora do seu espaço de trabalho, como você adivinhou, o git não saberá o que comparar, então você deve especificar explicitamente dois caminhos para comparar, daí a mensagem de uso.
fonte
Observação: a partir de git 1.8.5 ou 1.9, quarto trimestre de 2013 :
Vejo:
git diff --no-index
pode agir como um regular (não-git)diff
.fonte
Não faz nada se seu diretório de trabalho estiver limpo e não houver diferenças em relação à última atualização. Tente editar um arquivo e execute git diff novamente, e ele deve mostrar o diff.
fonte
Se você o estiver usando fora de um repositório real ou cópia de trabalho, seu comportamento é idêntico ao do GNU diff. Portanto, é necessário informar os 2 diretórios ou arquivos a serem comparados. Exemplo:
git diff old_dir new_dir
.Se houver alguma diferença entre eles, a saída mostrará a você, como esperado.
fonte
Não no seu caso, mas talvez porque o arquivo que você passou não existe
nada aconteceu
fonte