Tengo un repositorio con dos branches-- master y dev. Estaba trabajando en la rama principal y saqué, y recibí un mensaje de que el repositorio estaba actualizado. Cometí mis cambios, y empujé al repositorio remoto (en github). Recibí un mensaje que decía que algunos cambios fueron rechazados.revirtiendo push'd git commit
Luego hice un git pull origin dev
, lo que al parecer fue lo incorrecto, ya que fusionó la rama de desarrollo con mi maestro, y como un idiota, no me di cuenta de esto hasta que ya había presionado nuevamente. Entonces, el último commit muestra Merge branch 'dev' of github.com:myuser/myrepo
.
Puedo volver al último estado bueno conocido en mi repositorio local haciendo un git reset --hard [sha]
, siendo [sha] el compromiso antes de la fusión (aunque no estoy seguro de cómo hacer ese cambio en el origen) - o por lo que he leído, también puedo hacer un git revert -m
y luego confirmar/presionar ese cambio.
¿Alguien puede guiarme por el "camino correcto" para deshacer mi fusión, y restablecer ambas ramas de nuevo a donde estaban antes de la fusión?
Gracias-- si es importante, este es un repositorio compartido con solo dos desarrolladores, por lo que no está sujeto a grandes cambios.
Editar para añadir: por favor hable conmigo como si fuera un niño. Tengo que admitir que estas cosas de Git todavía me confunden, ¡así que estoy lejos de ser un usuario poderoso! Gracias
Arriesgado, pero si solo hay dos desarrolladores, creo que está bien. Podría tener sentido hacer una copia de seguridad de al menos una copia de su repositorio antes de hacer esto, en caso de que lo arruine. –
git push master de origen -f –
gracias felipefg-- parece que funcionó a la perfección! Aprecio la respuesta clara. – julio