A veces me ha ocurrido que al realizar un commit a un repositorio, en algún archivo, se me escapa información sensible y esta llega a un repositorio público donde cualquier usuario puede ver esta información o puede ser indexada por un buscador. Lo que les presento a continuación borrará todos los commits de un repositorio y dejara únicamente el más reciente.

Lo primero sería crear una nueva rama temporal y hacer checkout de la rama.

1
$ git checkout --orphan rama_temporal

Ahora debemos hacer un commit con todos los archivos a la nueva rama

1
2
$ git add -A
$ git commit -am "Primer commit"

Ahora es el momento de borrar la rama master

1
$ git branch -D master

Luego renombrar la rama temporal a master

1
$ git branch -m master

Y envíamos los cambios al repositorio

1
$ git push -f origin master

Y así finalmente de este modo habremos salvado nuestros secretos de quedar expuestos al público.