Git remove arquivos excluídos

Às vezes, esqueço de excluir arquivos em um repositório git usando git rm, deixando muitos arquivos excluídos no Changes not staged for commit.

Ainda posso usar git rm <deleted file name>para realizar a exclusão. Mas e se eu tiver dezenas de arquivos para excluir? Não quer dizer que posso digitar incorretamente os nomes dos arquivos, pois o shell não pode completar tabulação dos nomes dos arquivos excluídos.

  • Use git rmdiretamente. Isso pode não funcionar no Windows.
git rm $(git ls-files --deleted)
  • Use xargspara passar parâmetros para git rm. Isso funciona perfeitamente no * nix e no Windows.
git ls-files --deleted -z | xargs -0 git rm