Вы можете использовать git log --pretty="%ct %H" -- foo.bar
, что даст вам что-то вроде:
1322212187 f75e724eec4e11a720d4620b3ca09eff91bb754e
1311666567 d6b578f1b778c67d78322d914d3ab46e02d12f6c
1311584563 cb76c3e39553cf20c9e96ad3d2c963b905d19180
1311321178 bec391005805ca01e9c7b11032b456d426f4fa52
1311321089 b29afbf8c4ca7e8f178cec981b5d3d14f0abeb15
1311081641 74d5747f2094a8f1696344c6c2b94244e52c7cc9
Первый столбец - это отметка времени коммита (unix), а второй - SHA коммита.Вы можете изменить формат даты, если хотите что-то другое ('%ct
' в аргументе --pretty
, RTFM для просмотра параметров), если хотите.Исходя из этого, было бы легко написать команды git, чтобы проверить конкретную ревизию этого конкретного файла и скопировать ее в соответствии с вашим соглашением об именах, используя шеллскрипт - оставленный читателю в качестве упражнения.