Solução ingênua:
git rev-list --all | xargs -n1 git ls-tree --full-name -r --name-only | sort -u
Isto lista todos os commits, então usa isso para listar todos os arquivos em cada commit. classificar deduplica. Funciona apenas para reposições small-ish embora demore muito tempo.
Uma solução melhor seria usar o libgit2 para fazer o mesmo, deveria ser mais rápido, mas requer alguma programação. Um rápido hack que implementa isso pode ser encontrado no no github . Ele usa o pygit2 e é uma ordem de grandeza mais rápida que o pipeline do shell acima.