Você pode usar git archive
para obter um único arquivo de um repositório:
git archive --remote=file:///path/to/repository.git HEAD:path/to/directory filename | tar -x
O repositório especificado como --remote
pode ser local, remoto, simples ou regular, e funciona em todos os casos mencionados acima.
Note que se você quiser obter uma versão de filename
de um commit específico, você pode substituir HEAD
no oneliner acima com o hash do commit desejado.