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.

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.


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