Listar um ou mais arquivos sob controle de versão Git

Eu apenas tive que localizar os arquivos de troca que alguém tinha verificado por engano ao longo dos últimos 30 commits, e descobri que havia uma maneira de fazer isso sem o git log. Acontece que existe. Este comando git combinado com um grep para o nome do arquivo ou nome parcial do arquivo (como uma extensão .swp) retornará a você uma boa lista de arquivos que correspondem à sua descrição.

git ls-tree --full-tree -r HEAD | grep <filename or string to search for>

Por exemplo, para listar todos os arquivos .swp, você executaria

git ls-tree --full-tree -r HEAD | grep .swp