Есть git unpack-file $blob_id
, который сбрасывает копию содержимого большого двоичного объекта в корне рабочего дерева с именем нежелательной почты, которое он печатает.
Также есть git cat-file --batch
, который принимает необязательный формат и еще несколько настроек, и передает все запрошенные выходные данные. Если у вас есть контроль над обработкой ввода вашего инструмента аудита, он будет наиболее эффективным:
git ls-files -s | cut -d' ' -f2- \
| git cat-file --batch='%(objectname) %(objectsize) %(rest)' \
| your audit tool
и для коммита это началось бы git ls-tree -r $thatcommit | cut -d' ' -f3-