Команда git
git log --format='%H' --follow -- foo.txt
предоставит вам ряд коммитов, которые касаются foo.txt
, следуя за ним через переименования.
Мне интересно, есть ли команда git log
, которая также будет печатать соответствующее имя исторического файла рядом с каждой фиксацией.
Это было бы что-то вроде этого, где мы можем интерпретировать '%F'
как (фактически несуществующий) placeholder для имени файла.
git log --format='%H %F' --follow -- foo.txt
Я знаю, что это может быть достигнуто с помощью
git log --format='%H' --follow --numstat -- foo.txt
но вывод не идеален, так как требует некоторого нетривиального разбора; каждая фиксация разбросана по нескольким строкам, и вам все равно нужно проанализировать синтаксис переименования файла ("bar.txt => foo.txt"
), чтобы найти то, что вы ищете.