Risposte:
Specificare i percorsi in modo esplicito:
git diff HEAD:full/path/to/foo full/path/to/bar
Controlla l' --find-renames
opzione nei git-diff
documenti .
Credito: twaggs .
git diff <path> <path>
anche se non si trovano in un repository git.
git diff --help
vedrai che gli unici modelli supportati per due file sono git diff [<options>] --no-index [--] <path> <path>
. git diff a b
corrisponde solo ai modelli di commit, non ai file.
--no-index
opzione quando esegui il comando in un albero di lavoro controllato da Git e almeno uno dei percorsi punti all'esterno dell'albero di lavoro, o quando esegui il comando al di fuori di un albero di lavoro controllato da Git .
Credo che l'utilizzo --no-index
sia quello che stai cercando:
git diff [<options>] --no-index [--] <path> <path>
come menzionato nel manuale git:
Questo modulo serve per confrontare i due percorsi dati sul filesystem. È possibile omettere l'
--no-index
opzione quando si esegue il comando in un albero funzionante controllato da Git e almeno uno dei percorsi punti all'esterno dell'albero di lavoro, o quando si esegue il comando all'esterno di un albero funzionante controllato da Git.
Se stai usando tortoise git puoi fare clic con il tasto destro su un file e git un diff facendo clic con il tasto destro sul primo file e attraverso il sottomenu tortoisegit seleziona "Diff in seguito" Quindi sul secondo file puoi anche fare clic destro su questo , vai al sottomenu tortoisegit e quindi seleziona "Diff with yourfilenamehere.txt"
Usando PhpStorm, copio semplicemente il codice prev commit e lo confronto con la versione corrente usando lo strumento "confronta con appunti" incorporato.
git diff --no-index --word-diff old_file.txt new_file.txt
(--word-diff evidenzia i cambiamenti per parola, non solo per riga, il che è molto utile per il testo lungo).