Предполагая, что вам интересно узнать, какой самый последний коммит в ваших файлах, эта команда выдаст его для данного файла: git log -n 1 -- <your_filename>
.Для получения желаемого результата вы можете использовать этот фрагмент:
for file in *; do
log=$(git log -n 1 --pretty=format:%H -- $file)
echo -e "$file\t$log"
done
.., который просто просматривает файлы в текущей папке и выполняет команду git, извлекая только SHA.
Если вас интересует первый коммит, который поместил туда файл вместо последнего коммита, который коснулся файла, замените команду git на git log --diff-filter=A --pretty=format:%H
(см. ссылка )
Если вы делаете это несколько раз, вы можете поместить фрагмент в сценарий оболочки и добавить к своему $ PATH.
Предупреждение: запуск может занять некоторое время, если файлов слишком много.Вы можете изменить шаблон файла, чтобы ограничить его, если это возможно.