Trabajando en una request de extracción, mientras se actualiza el maestro

He estado trabajando en mi propia sucursal, pero luego recibí una request de extracción de otra persona que tuve que fusionar para master .

Después de fusionar su request de extracción en master , ¡no pude fusionar mi propia twig de desarrollo en master ! Entonces lo que hice fue:

 git fetch && git rebase origin/master && git pull && git push 

Entonces el git log mi sucursal se veía así:

  1. Mi twig se compromete.
  2. Compromisos del otro queueborador.
  3. Las confirmaciones de mi sucursal (desde el punto 1), se repiten.

¿Qué estoy haciendo mal? ¿Cómo evito este problema? ¿Cómo soluciono el problema que he creado en mi git log ? Todo mi git log ve horrible por eso …

Depende de cuál fue tu objective. Tienes 2 opciones realmente:

  1. Si desea volver a establecer la base de su bifurcación, es decir, replace las confirmaciones existentes en esa bifurcación por nuevas a partir de su origin/master , entonces no necesita el git pull en su command. Luego git push -f , o posiblemente crear una nueva twig desde ese punto y simplemente git push . Esto dará como resultado: (en order)

    • vieja historia maestra
    • nuevos cambios maestros
    • su twig se compromete
  2. Si desea conservar los commits y agregar un punto de fusión con master, puede replace esos commands con git checkout your_branch ; git fetch ; git merge origin/master git checkout your_branch ; git fetch ; git merge origin/master git checkout your_branch ; git fetch ; git merge origin/master . Obtendrá los mismos conflictos que resolver cuando intente fusionar su twig con la maestra. Pero, por otro lado, son los mismos conflictos que debes resolver al volver a basarlos. Esto dará como resultado: (en order)

    • vieja historia maestra
    • su twig se compromete
    • fusionarse con nuevos cambios maestros

En cuanto a cómo solucionarlo, puedes encontrar tu antigua twig en git reflog . Busca la confirmación antes de tu rebase y haz una ramificación de ella. Puede elegir iniciar una nueva bifurcación de esa manera o restablecer su bifurcación anterior a esa confirmación.