git log --follow, показать все коммиты, включая слияния

Я хотел бы git log --follow file.ext но показывать все коммиты, включая слияния.

Пробовал no-max-parents, но не помогает.


person lajarre    schedule 25.05.2015    source источник


Ответы (1)


-m поможет вам, log -m для слияния.

git log -m --oneline --full-history --follow file.ext

Это должно следовать за файлом в слияниях [-m].

И я предполагаю, что вы стремились использовать --min-parents=2 вместо no-max-parents. --min-parents=2 такой же, как --merged, так как он вернет фиксацию с более чем одним родителем.

Вы всегда можете добавить несколько дополнительных флажков для более удобного отображения результатов:
git log -m --name-only --oneline --follow file.ext. Он отобразит результаты с SHA-1 коммитов, а также с сообщением

person CodeWizard    schedule 25.05.2015
comment
Для меня -m добавляет гораздо больше слияний, чем было бы естественно. Например, git log file.ext показывает 10 обычных коммитов и 2 коммита слияния для меня, git log --follow -m file.ext перечисляет 10 обычных коммитов и 30 (!!) коммитов слияния. - person Borek Bernard; 11.06.2019
comment
@BorekBernard Я нахожу документацию немного неясной, но похоже, что опция --simplify-merges может помочь в этом: дополнительная опция --full-history для удаления некоторых ненужных слияний из результирующей истории, поскольку нет выбранных коммитов, способствующих это слияние. - person Joshua Goldberg; 09.08.2019