Para descartar todos los cambios no pusheados (y hacer de cuenta que no se commiteo nada)
git reset --hard origin/master
Explicacion
git reset es el comando que permite cambiar a que commit apunta la rama en la cual se esta trabajando, por ejemplo, el siguiente comando ocasionara que la rama en la que estan trabajando retroceda un commit:
git reset --hard HEAD^
Lo que se hace para deshacer todos los commits que no se pushearon hasta el momento, es asignar a la rama master el mismo commit al que apunta la rama remota: origin/master, esto es lo que hace el comando git reset --hard origin/master
La opcion --hard, sirve para indicar que reinicie tambien el indice y el working tree a esa version.
Deshacer
Si se arrepintieron de descartar sus cambios, lo unico que hay que hacer es restaurar la ref (el puntero de la rama) a su valor original, que se puede hacer asi
git reset --hard HEAD@{1}
HEAD@{1} es el valor que tuvo HEAD antes de que sea cambiado por el otro git reset, eso se puede verificar mas claramente con el comendo git reflog
No hay comentarios:
Publicar un comentario