Puoi farlo con una sola riga di comando:
git diff -w `git rev-list HEAD --reverse | head -1`..HEAD -- <path/file>
Non funziona usare --reverse con un conteggio di 1 (-1/--max-count 1) ... come si inverte la lista risultante dopo averlo troncato. Quindi o usi --reverso insieme al comando della testa o usi la coda -1.
Ho dovuto aggiungere il -w per il mio utilizzo a causa di interruttori in terminazioni di riga e utilizzo di tabulazioni e spazi.
Questo potrebbe non funzionare come previsto se il file non è stato aggiunto al primo commit! Si può modificare la riga sopra per:
git diff -w `git rev-list HEAD --reverse -- <path/file> | head -1`..HEAD -- <path/file>
possibile duplicato di [Git:? Come diff lo stesso file tra due commit differenti sullo stesso ramo] (http://stackoverflow.com/questions/3338126/git -come-diff-lo-stesso-file-tra-due-diversi-commits-sullo-stesso-ramo) –