Это действительно существует, но на самом деле это особенность git log
:
git log -p [--follow] [-1] <path>
Обратите внимание, что -p
может также использоваться, чтобы показать встроенный дифференциал из одной фиксации:
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
благодаря this answer.
- Кредит FranciscoPuga и this answer за показ мне
--follow
.
- Кредит ChrisBetti за упоминание опции
-n 1
и atatko для упоминания варианта -1
.
- Кредит для sweaver2112 за то, что я действительно прочитал документацию и выяснил, что
-p
означает «семантически».
Я предпочитаю использовать 'git diff HEAD^' –
asgs
@asgs - Не делает то, что я просил (по двум причинам: 'HEAD ^' is '123abc',' HEAD ^^ 'is' 456def'; если бы были другие коммиты, которые не влияли на этот файл, то «HEAD ^» относится к ним) – Chowlett
Вы правы, пропустили «последнее совершение, которое его изменило» часть – asgs