git ls-files
A lista do que o índice realmente enxerga, sem opinião da árvore de trabalho.
O índice é uma lista de arquivos com modo, hash e estágio — e ls-files a imprime sem retoque. Sozinho, lista o que está rastreado; -s expõe os bastidores de cada entrada; --others --exclude-standard inverte a pergunta e mostra o que existe no disco mas o git ainda não conhece.
É o depurador dos casos estranhos: o arquivo que o status insiste em ignorar, o conflito parado em três estágios, o executável que perdeu o bit de permissão. Quando a porcelana confunde, o índice cru esclarece.
$ git ls-files -s templates/sub-article.html
100644 4f2a8c1d9e3b7a604c8f2e5d1b9a3c7e6f0d4b28 0 templates/sub-article.html
$ git ls-files --others --exclude-standard
static/jaque/retrato.jpg