2011-11-15 24 views
133

He bifurcado un repositorio git y configurado upstream. Realicé algunos cambios en la rama Master y me comprometí y empujé a Github.Cómo revertir la rama Master a upstream

Ahora, ¿qué debo hacer para abandonar todos mis cambios en la rama maestra y hacer que sea idéntica a la rama principal de la cadena ascendente?

Respuesta

255

(estoy suponiendo que los cambios que ahora quiere ignorar están a su origin remoto, que está en su rama master, y desea volver a los contenidos de la upstream remota)

primer lugar , restablecer su copia de trabajo con el maestro aguas arriba:

git remote update 
# the double hyphen ensures that upstream/master is 
# considered as a revision and not confused as a path 
git reset --hard upstream/master -- 

Luego empuje esta nueva rama de cabeza a su repositorio de origen, ignorando el hecho de que no va a ser un avance rápido:

git push origin +master 
+13

También es posible que tenga que ejecutar 'git remote add upstream ' si bifurcó la rama con GitHub. – Kato

+3

¿Cuál es el significado de '+' en 'git push origin + master'? ¿Es lo mismo que simplemente 'git push origin master'? – bluenote10

+3

@ bluenote10 No son lo mismo. El '+' es lo que le dice a git que "[ignore] el hecho de que no será un avance rápido". Es un poco como hacer un 'git push --force', pero solo se aplica a esa ref específica. – nickgrim

Cuestiones relacionadas