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.


Moisés Serrano Samudio Médico, apasionado del EdTech/eHealth y diseñador/desarrollador de sitios web de salud.
Moisés Serrano Samudio

@linkmoises

Médico de atención primaria, fotógrafo aficionado, apasionado de las tecnologías relacionadas con el EdTech y el eHealth.

Entradas relacionadas

Comentarios

  1. Al intentar subir mi proyecto finalizado Gitkraken me tiraba el siguiente error al subirlo a github:

    Failed to write chunck header for origin: this might indicate a file is too large.

    Con este tutorial lo resolví, muchas gracias

Deja una respuesta

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