¿Cómo se altera el contenido histórico de un object en un repository git?

Tengo un repository git local que eventualmente planeo publicar como código abierto. Recientemente noté que uno de los files tiene una contraseña. Obviamente, necesito atacar esa contraseña de todo el historial antes de publicar el repository.

A: ¿Hay alguna forma de acceder y modificar el historial de todas las revisiones de ese file en particular?

B: Creo que una alternativa es simplemente publicar una versión limpia de HEAD.

git rm <file> git-filter-branch --index-filter 'git update-index --remove <file>' master 

Esto debería eliminar el file de todas las revisiones.

Fuente: http://help.github.com/removing-sensitive-data/

Sin embargo, si realmente está preocupado, simplemente cargue un nuevo repository limpio sin el file.