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
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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.