Вы можете сделать это с помощью одной командной строки:
git diff -w `git rev-list HEAD --reverse | head -1`..HEAD -- <path/file>
Не работает использование --reverse со счетом 1 (-1 / --max-count 1) ..., так как оно переворачивает результирующий список после его усечения. Так что либо вы используете --reverse вместе с командой head, либо вы используете tail -1.
Мне пришлось добавить -w для моего использования из-за переключателей в конце строк и табуляции в сравнении с использованием пробелов.
Это может работать не так, как ожидалось, если файл не был добавлен при первом коммите! Вы можете изменить вышеуказанную строку на:
git diff -w `git rev-list HEAD --reverse -- <path/file> | head -1`..HEAD -- <path/file>