Respostas:
Especifique os caminhos explicitamente:
git diff HEAD:full/path/to/foo full/path/to/bar
Confira a --find-renamesopção nos git-diff documentos .
Crédito: twaggs .
git diff <path> <path>mesmo que eles não estejam em um repositório git.
git diff --helpverá que os únicos padrões suportados para dois arquivos são git diff [<options>] --no-index [--] <path> <path>. git diff a bcorresponde apenas a padrões de confirmação, não a arquivos.
--no-indexopção ao executar o comando em uma árvore de trabalho controlada pelo Git e pelo menos um dos pontos de caminho fora da árvore de trabalho, ou ao executar o comando fora de uma árvore de trabalho controlada pelo Git .
Acredito que usar --no-indexé o que você está procurando:
git diff [<options>] --no-index [--] <path> <path>
conforme mencionado no manual do git:
Este formulário é para comparar os dois caminhos fornecidos no sistema de arquivos. Você pode omitir a
--no-indexopção ao executar o comando em uma árvore de trabalho controlada pelo Git e pelo menos um dos caminhos aponta para fora da árvore de trabalho, ou ao executar o comando fora de uma árvore de trabalho controlada pelo Git.
Se você estiver usando o tortoise git, você pode clicar com o botão direito em um arquivo e obter uma comparação: Clique com o botão direito do mouse no primeiro arquivo e através do submenu tortoisegit selecione "Diff later" Então no segundo arquivo você também pode clicar com o botão direito neste , vá para o submenu tortoisegit e selecione "Diff with yourfilenamehere.txt"
Usando o PhpStorm, eu apenas copio o código do commit anterior e comparo-o com a versão atual usando a ferramenta integrada "comparar com a área de transferência".
git diff --no-index --word-diff old_file.txt new_file.txt(--word-diff destaca as alterações por palavra, não apenas por linha, o que é muito útil para texto longo).