2010-01-05 12 views
127

Cómo restablecer un repositorio de GIT remoto y local para eliminar todas las confirmaciones y comenzar de nuevo con el encabezado actual como confirmación inicial.¿Cómo restablecer un repositorio de GIT remoto para eliminar todas las confirmaciones?

+0

relacionado: http://stackoverflow.com/questions/495345/git-removing-selected-commits-from-repository – miku

+0

No quiero elegir nada o hacer otra cosa, solo quiero eliminar todos los cambios y restablecer el repositorio público también. Como soy un nuevo usuario de Git, hice algunos commits incorrectos. La eliminación del directorio .GIT no es una opción, ya que también hay un repositorio público. –

+0

También puede hacer un empuje de fuerza, por lo que eliminar el .git dir es en realidad una opción. –

Respuesta

262

completamente ajustado?

  1. Elimine el directorio .git localmente.

  2. recrear la repostory git:

    $ cd (project-directory) 
    $ git init 
    $ (add some files) 
    $ git add . 
    $ git commit -m 'Initial commit' 
    
  3. Push to servidor remoto, sobrescribir. Recuerda que confundirás a todos los demás haciendo esto ... será mejor que seas el único cliente.

    $ git remote add origin <url> 
    $ git push --force --set-upstream origin master 
    
+0

+1 Fue mi primer pensamiento también. Tienes que hacer una copia de seguridad y restaurar las configuraciones locales que tengas. –

+0

Todavía en el repositorio remoto en GitHub, en los mensajes veo mensajes anteriores. –

+1

pero las confirmaciones se han ido, y el repositorio se restablece. ¿Podemos eliminar esos mensajes anteriores también delante de los nombres de archivo? –

5

Primero, siga las instrucciones en this question para aplastar todo a una única confirmación. luego hacer un empuje forzado a la distancia:

$ git push origin +master 

y opcionalmente eliminar todas las demás ramas tanto local como remotamente:

$ git push origin :<branch> 
$ git branch -d <branch> 
Cuestiones relacionadas