Cómo fusionar el maestro remoto con la sucursal local

Resuelto Martyn asked hace 13 años • 5 respuestas

Tengo una rama local de un proyecto ("configUpdate") que bifurqué del proyecto de otra persona y le hice muchos cambios y me gustaría fusionar los cambios que hicieron en mi rama local.

He intentado

git pull --rebase origin configUpdate

pero no ha captado los últimos cambios. ¿Cómo puedo fusionar los dos? (también para puntos extra ¿qué hice con el pull --rebasecomando?)

Martyn avatar Aug 26 '11 13:08 Martyn
Aceptado

Desde su rama de funciones (por ejemplo configUpdate), ejecute:

git fetch
git rebase origin/master

O la forma más corta:

git pull --rebase

Por qué esto funciona:

  • git merge branchnametoma nuevas confirmaciones de la rama branchnamey las agrega a la rama actual. Si es necesario, agrega automáticamente una confirmación de "Fusionar" en la parte superior.

  • git rebase branchnametoma nuevas confirmaciones de la rama branchnamey las inserta "debajo" de sus cambios. Más precisamente, modifica el historial de la rama actual de modo que se base en la punta de branchname, con cualquier cambio que haya realizado además de eso.

  • git pulles básicamente lo mismo que git fetch; git merge origin/master.

  • git pull --rebasees básicamente lo mismo que git fetch; git rebase origin/master.

Entonces, ¿por qué querrías utilizar git pull --rebaseen lugar de git pull? He aquí un ejemplo sencillo:

  • Empiezas a trabajar en una nueva característica.

  • Cuando esté listo para implementar los cambios, otros desarrolladores habrán realizado varias confirmaciones.

  • Si usted git pull(que usa la combinación), sus cambios quedarán ocultos por las nuevas confirmaciones, además de una confirmación de combinación creada automáticamente.

  • Si, git pull --rebaseen cambio, git avanzará rápidamente su maestro a upstream y luego aplicará los cambios en la parte superior.

Joey Adams avatar Aug 26 '2011 06:08 Joey Adams

Descubrí que era:

$ git fetch upstream
$ git merge upstream/master
Martyn avatar Aug 26 '2011 06:08 Martyn