La diferencia de bifurcación Bitbucket solo es visible en un sentido

Tengo esta situación en la que si comparo mi twig principal con mi twig de desarrollo en Bitbucket, no muestra ningún cambio, pero si comparo mi twig de desarrollo con mi twig principal, se muestran los cambios. La twig Dev tiene la base de código adecuada (el maestro está mal) pero git no está detectando los cambios para fusionarse en el Máster. ¿Que esta pasando?

EDITAR: Pude hacer que el maestro tomara la base de código adecuada al volver a basarla en el uso de dev

git rebase -s theirs dev 

y luego forzar al maestro a empujar, pero eliminó un montón del historial de mi sucursal. ¿Hay una mejor manera de hacer esto?

Si el master incluye el código "incorrecto", puede replacelo con el contenido de dev con:

  git checkout dev git merge -s ours master # ignore master content, but record the merge git checkout master git merge dev # fast-forward master HEAD to dev HEAD 

Entonces un simple empujón es suficiente, sin necesidad de forzar.

Si compara maestro ( cambiar fuente ) a dev ( cambiar destino ), no hay cambios. Y compare dev con maestro, allí muestra cambios. Eso significa que la twig dev es más nueva que la twig principal, la estructura principalmente como:

  A---B---C dev / D---E master 

Puedes usar git checkout master y git merge dev , adelantará la twig master a C, y sin crear una nueva identificación de commit. La estructura se verá así:

 D---E---A---B---C master, dev 

Si compara maestro ( cambiar destino ) a dev ( cambiar origen ), no hay cambios. Y compare dev con maestro, allí muestra cambios. Eso significa que la twig maestra es más nueva que la twig dev, la estructura principalmente como:

  A---B---C master / D---E dev 

entonces puedes usar git checkout master y git cherry-pick <latest commit id for dev branch> para actualizar la twig master.