Reparación después de la twig push no fast forward

Sé que hay muchas preguntas relacionadas con "push de twigl no rápido". Los he visto y he encontrado una respuesta que pensé que era la mejor, porque no quería un empujón de fuerza ( este )

Mi problema es que antes de fusionar tenía:

* afd733f (HEAD, feat/fix_branch) comment32154 * 424ab31 comment6543 | * d73a555 (origin/feat/fix_branch) comment6543 |/ * d7f3fad (origin/branch, branch) comment6541 

Ahora, ¿cómo obtuve algo como esto? No lo sé…

Pero hice los pasos en la respuesta mencionada anteriormente y ahora es así:

 * 4cd3543 (HEAD, origin/feat/fix_branch, feat/fix_branch) Merge branch 'feat/fix_branch' |\ | * d73a555 (origin/feat/fix_branch) comment6543 * | afd733f (HEAD, feat/fix_branch) comment32154 * | 424ab31 comment6543 |/ * d7f3fad (origin/branch, branch) comment6541 

Solo quería arreglar eso sin tener una especie de ciclo. Solo quería una línea. ¿Es posible volver atrás y tener algo así como:

 * 4cd3543 (HEAD, origin/feat/fix_branch, feat/fix_branch) Merge branch 'feat/fix_branch' | * afd733f comment32154 * 424ab31 comment6543 | * d7f3fad (origin/branch, branch) comment6541 

?

Claro, si esa fue su copy local, pero ha empujado su twig de return a su origen desde que realizó el cambio. Eso complica las cosas.

Si, cuando obtuviste tu loop por primera vez, lo habías notado y acababas de hacer

 $ git reset --hard HEAD^ # discard the merge commit you don't like $ git rebase origin/feat/fix_branch 

Tendría el resultado que desea.

Ahora, aún puedes hacer eso, pero tendrás que obligarlo a volver a su origen, lo que es un problema si alguien más realizó la fusión.

Tenga en count que la pregunta que ha vinculado no aborda esto en absoluto: describe cómo evitar causar el problema en primer lugar, cuando el OP estaba en la twig incorrecta.


En general, no me molestaría en arreglar este "bucle" – no hay nada de terrorífico en ver una fusión en la historia.

Sin embargo, si quiere evitarlo en el futuro, solo use git pull --rebase . Incluso puede configurar esto como el pnetworkingeterminado.