Eliminar y olvidar archivos commiteados por error de git

Uno de los errores que siempre cometo al desplegar una aplicación con Git es incluir en el repositorio archivos que no debería, como por ejemplo los directorios temporales o de cache de algún framework.
Mientras desarrollo en local por lo general ni me doy cuenta, pero a la hora de desplegar a producción es cuando empiezan los problemas.