¿Eliminar el historial completo de Git sin eliminar el repository?

Mi pregunta puede parecer un poco extraña, ya que lo que quiero generalmente se puede lograr simplemente borrando el repository y creando uno nuevo. Esta es la razón por la que aún necesito mantener el repository: la historia de mi repository es realmente la parte más valiosa del repository. Genero un repository completo con todos los datos. El repository está alojado en github y quiero actualizar el repository para que se vea exactamente como el repository local (historial idéntico).

La única forma que he encontrado para hacer esto hasta ahora ha sido eliminar y volver a crear el repository en github antes de presionarlo. De lo contrario, todas las confirmaciones anteriores seguirían allí, alterando de forma efectiva la información histórica del repository. Por supuesto, es bastante fácil recrear un repository en github, pero junto con el repository se pierden todos los observadores, información wiki, etc., y me gustaría evitar eso.

He publicado aquí en lugar de github, ya que creo que esta pregunta está más relacionada con Git que con el service de alojamiento.

¿Alguna idea?

Un empuje forzado como git push origin +master debería ayudar. Todos los cambios remotos se perderán.

Paso 1: Eliminar todas las twigs remotas:

 git fetch git branch -r 

Para cada línea de salida (deben verse como origin/master , origin/branch1 , …) agréguela a una línea de git push como esta:

 git push origin :master :branch1 ... 

Paso 2: empuja tus sucursales locales

 git push origin master branch1 ...