Rama de Git detrás del control remoto después de la rebase

Estoy teniendo problemas con git. Quería volver a establecer una base de un hotfix twig sobre el master local y remoto, ambos, así que esto es lo que hice.

 git checkout hotfix git pull hotfix #just getting someone changes git fetch origin master git rebase origin/master 

Después de mucho time resolviendo conflictos y reconstruyendo el proyecto, lo tengo funcionando bien, así que tengo que cargar los cambios a la twig remota.

 git push origin hotfix 

Y esto es waht git piensa:

 $ git push origin login2 To https://name@bitbucket.org/***/***.git ! [rejected] hotfix -> hotfix (non-fast-forward) error: failed to push some refs to 'https://name@bitbucket.org/***/***.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (eg hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

Yo he tratado:

 git pull --rebase 

Pero esto da los mismos conflictos que antes de la otra rebase y no debería.

Sé que siempre puedo hacer:

 git push -f 

Pero preferiría evitar el impulso forzado porque trabajo con otra persona. Me gustaría saber qué hice mal. Pensé que ese era el path.

PD. He ejecutado gitk y parece que no hay reference al origin/hotfix remota, solo aparece el hotfix local.

¡Gracias!

Editar: Supongo que cuando hice la rebase la última confirmación del cambio de la sucursal para aplicar los cambios de rebase, esa fue la razón por la que tenía otra identificación sha1 commit. Hice una extracción anulando mis files locales.

 git pull --strategy=ours origin hotfix 

Una cosa que debes saber sobre rebase es:

Git cambiará los hash SHA de cada commit que no formen parte de la nueva twig base.

Esto significa que siempre habrá un conflicto con la twig ascendente después de volver a establecer la base de su sucursal local y que la única forma de evitarlo es forzar el flujo ascendente.

Una práctica común es no volver a establecer las asignaciones que se han enviado a la stream ascendente. La rebase aún está bien si solo hay una persona trabajando en una sucursal.

En este caso, no tiene otra opción que hacer un empujón de fuerza. En el futuro, es recomendable mantener la twig de trabajo para usted y su queueborador por separado y tener una combinación de estrategias de rebase y fusión para compartir su trabajo.