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.