Actualizar una rama desactualizada contra master en un repositorio de Git

123

Tengo un repositorio de Git que tiene una rama (local y remota) que se ha quedado obsoleta. Me gustaría actualizar esta rama con la rama maestra, pero no sé cómo hacerlo. Probablemente también habrá muchos conflictos de fusión.

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

Andrés
fuente
1
si ha venido aquí para averiguar cómo actualizar una rama desactualizada contra la maestra en un repositorio de Git si no ha realizado ningún cambio en la rama local, simplemente haga un "git pull"
mal estado el

Respuestas:

152

Actualice la rama maestra, que debe hacer independientemente.

Entonces, uno de:

  1. Rebase la rama vieja contra la rama maestra. Resuelva los conflictos de fusión durante el rebase, y el resultado será una rama actualizada que se fusiona limpiamente con el maestro.

  2. Fusiona tu rama en maestra y resuelve los conflictos de fusión.

  3. Fusiona master en tu rama y resuelve los conflictos de fusión. Luego, la fusión de su rama en maestro debería estar limpia.

Ninguno de estos es mejor que el otro, solo tienen diferentes patrones de compensación.

En mi opinión, utilizaría el enfoque de rebase, que da resultados generales más limpios a los lectores posteriores, pero eso no es nada más que gusto personal.

Para rebasear y mantener la rama, usted:

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

En su caso, revise la rama anterior, luego

git rebase master 

para reconstruirlo contra el maestro.

Daniel Pittman
fuente
1
@Andrew: git rebase:)
CharlesB
1
git checkout $branch && git rebase $target- en su caso, revise la rama anterior, luego git rebase masterpara reconstruirla contra master.
Daniel Pittman
3
¿Es tu repositorio público? ¿Está bien rebasar si es público?
event_jr
44
Un buen consejo al usar rebase en ramas remotas: haga este rebase de rama remota contra la rama maestra solo cuando alguien no esté presionando confirmaciones en esta rama remota.
Dherik
Una vez que se realiza el rebase, debe impulsar los cambios usando la -fopción. A medida que reescribe el historial, se requiere un impulso contundente.
Opster Elasticsearch Ninja