Почему git log с --follow и -reverse возвращает только последний commit?

Я хотел просмотреть все фиксации файла с начала в обратном порядке Я побежал

git log --reverse [file]

И это сработало, как ожидалось. но для переименованного файла он отображается только из коммита, в котором он был переименован, поэтому я добавил - в нем.

git log --reverse --follow [file]

но теперь отображается только последняя фиксация, которая была сделана для этого файла.

Как я могу объединить оба, чтобы получить желаемый результат.

Ответы

Ответ 1

Это, по-видимому, известная ошибка в git. Единственная работа, которую я вижу, - это узнать, как был указан файл раньше, передать его вместе с текущим файлом в команду, т.е.

 git log --reverse --follow -- oldfilename currentfilename

Изменить: следующее будет делать то, что вы хотите:

git log --name-only --pretty="format:"  --follow <filename> | sort -u | xargs git log --reverse --