Eliminando todos los commits de un repositorio git

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.

$ git checkout --orphan rama_temporal

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

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

Ahora es el momento de borrar la rama master

$ git branch -D master

Luego renombrar la rama temporal a master

$ git branch -m master

Y envíamos los cambios al repositorio

$ git push -f origin master

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


avatar
Moisés Serrano Samudio Médico de atención primaria, fotógrafo aficionado, apasionado de las tecnologías relacionadas con el EdTech y el eHealth y diseñador/desarrollador de sitios web de salud. Médico, apasionado del EdTech/eHealth y diseñador/desarrollador de sitios web de salud.
  1. Aún no hay comentarios...

Deja una respuesta

Su email no será publicado. Required fields are marked *