2011-07-11 15 views

Respuesta

171

Dado que usted es el único usuario:

git reset --hard [email protected]{1} 
git push -f 
git reset --hard [email protected]{1} 

(básicamente, volver atrás una confirmación, fuerza de empuje al repositorio, y luego volver de nuevo - eliminar el último paso si no le importa sobre la confirmación)

Sin hacer ningún cambio a tu repositorio local, también puede hacer algo como:

git push -f origin <sha_of_previous_commit>:master 

Generalmente, en repos publicados, es más seguro hacer git revert y luego git push

+2

+1 por "Generalmente, en los repos publicados, es más seguro hacer git revertir y luego hacer git push". La única razón por la que recomendaría rebobinar el historial en un control remoto es porque el OP es el único usuario. Si comparte con otros, no retroceda, solo avance. –

+0

muy práctico gracias! –

+0

¡Bonito! ¡Ahorrador de culo! : p –

59

Primero debe determinar la Id. De revisión de la última confirmación conocida. Puede usar HEAD^ o si sabe que debe invertir exactamente una confirmación.

git reset --hard <revision_id_of_last_known_good_commit> 
git push --force 
+1

Muchas gracias :) –

+1

Tenga en cuenta que el uso de hard borrará su trabajo local si tiene algo escondido. –

+0

Forma simple de revertir los repos locales y remotos para confirmar la confirmación por hach ​​id. Ty. –

Cuestiones relacionadas