Это существует, но на самом деле это особенность git log:
git log -p [--follow] [-1] <path>
Обратите внимание, что -pтакже можно использовать для показа встроенного diff из одного коммита:
git log -p -1 <commit>
Используемые параметры:
-p(также -uили --patch) скрыт deeeeeeeep на git-logстранице руководства и фактически является опцией отображения git-diff. Когда используется с log, он показывает патч, который будет сгенерирован для каждого коммита , вместе с информацией о коммите - и скрывает коммиты, которые не касаются указанного <path>. (Это поведение описано в параграфе --full-diff, который приводит к отображению полного различий каждого коммита.)
-1показывает только самое последнее изменение указанного файла ( -n 1может использоваться вместо -1); в противном случае отображаются все отличные от нуля различия этого файла.
--follow требуется, чтобы увидеть изменения, которые произошли до переименования.
Насколько я могу судить, это единственный способ сразу увидеть последний набор изменений, внесенных в файл, без использования git log (или аналогичного) подсчета количества промежуточных ревизий или определения хэша фиксации.
Чтобы увидеть более ранние изменения ревизий, просто прокрутите журнал или укажите коммит или тэг, с которого нужно начать журнал. (Конечно, указание коммита или тега возвращает вас к исходной проблеме выяснения, что такое правильный коммит или тег.)
Кредит, где кредит должен:
- Я обнаружил
log -pблагодаря этому ответу .
- Благодарим FranciscoPuga и этот ответ за показ мне
--followварианта.
- Благодарим КрисБетти за упоминание
-n 1варианта и Ататко за упоминание -1варианта.
- Благодарим sweaver2112 за то, что он заставил меня прочитать документацию и выяснить, что
-p«означает» семантически.
git diff HEAD^ <file_path>