2012-01-22 8 views
104

que tiene un repositorio Git que tiene rama (local y remoto) que se ha vuelto obsoleta. Me gustaría actualizar esta rama con la rama principal, pero no sé cómo hacer esto. Probablemente también habrá muchos conflictos de fusión.actualización de una rama obsoleta contra la maestra en un repositorio git

¿Cómo puedo actualizar o actualizar esta rama desactualizada al mismo estado que la rama principal?

+1

Si ha venido aquí para saber cómo actualizar una rama obsoleta contra el maestro en un repositorio de Git si no ha realizado ningún cambio en la sucursal local, simplemente haga un "git pull" – shabby

Respuesta

132

Actualice la rama principal, lo que debe hacer independientemente.

Entonces, uno de:

  1. rebase la rama de edad contra la rama principal. Resuelve los conflictos de combinación durante la rebase, y el resultado será una rama actualizada que se fusiona limpiamente contra el maestro.

  2. Combine su rama en el maestro y resuelva los conflictos de combinación.

  3. Combine el maestro en su rama y resuelva los conflictos de fusión. Entonces, la fusión de su rama a la maestra debe estar limpia.

Ninguno de estos es mejor que el otro, simplemente tienen diferentes patrones de compromiso.

Usaría el enfoque de rebase, que da resultados globales más limpios a los lectores posteriores, en mi opinión, pero eso no es nada aparte del gusto personal.

para reajustar y mantener la rama que lo haría:

git checkout <branch> && git rebase <target> 

En su caso, echa un vistazo a la rama de edad, entonces

git rebase master 

conseguirlo reconstruida contra el maestro.

+0

¿cuál es el comando para volver a establecer y mantener? ¿la rama? – Andrew

+1

@ Andrew: 'git rebase' :) – CharlesB

+1

' git checkout $ && rama git rebase $ target' - en su caso, echa un vistazo a la rama de edad, a continuación, 'git rebase master 'conseguirlo reconstruida contra el maestro. –

Cuestiones relacionadas