¿Cómo puedo restablecer un repositorio Git remoto y local para eliminar todas las confirmaciones?
Me gustaría comenzar de nuevo con el Head actual como el commit inicial.
¿Cómo puedo restablecer un repositorio Git remoto y local para eliminar todas las confirmaciones?
Me gustaría comenzar de nuevo con el Head actual como el commit inicial.
Respuestas:
Completamente restablecer?
Eliminar el .git
directorio localmente.
Recrea el repositorio git:
$ cd (project-directory)
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'
Empuje al servidor remoto, sobrescribiendo. Recuerde que va a fastidiar a todos los demás haciendo esto ... será mejor que sea el único cliente.
$ git remote add origin <url>
$ git push --force --set-upstream origin master
--allow-empty
indicador al final de git commit -m 'Initial commit'
.
git push --force --set-upstream origin master
Pero todo el resto funcionaba como se describe
Primero, siga las instrucciones en esta pregunta para aplastar todo a una sola confirmación. Luego haga un empuje forzado hacia el control remoto:
$ git push origin +master
Y, opcionalmente, elimine todas las demás ramas, tanto local como remotamente:
$ git push origin :<branch>
$ git branch -d <branch>
Si yo fuera tú, haría algo como esto:
Antes de hacer algo, conserve una copia (más vale prevenir que curar)
git checkout master
git checkout -b temp
git reset --hard <sha-1 of your first commit>
git add .
git commit -m 'Squash all commits in single one'
git push origin temp
Después de hacer eso, puede eliminar otras ramas.
Resultado: vas a tener una rama con solo 2 commits.
¡Utilícelo
git log --oneline
para ver sus commits de una manera minimalista y para encontrar SHA-1 para commits!