En git, ¿cómo puedo verificar que una merge upstream master
no contenga ningún diffs adicional? Digamos que quiero verificar que la persona no hizo nada 'furtivo' además de fusionar los cambios de la twig principal aguas arriba.
Quiero verificar que las únicas diferencias provienen de los otros commits que hicieron; que no realizaron una "combinación malvada" .
¿Hay alguna manera de verificar que no se realizaron cambios adicionales durante el paso de fusión?
O mejor aún: muéstrame las posibles diferencias de "fusión maligna" para que pueda ver por mí mismo qué trabajo adicional se podría haber realizado.
Escenario de ejemplo:
P1---P2 P3---P4---P5---P6 / \ / / \ A---B---C---D--E--------F---------G master \ / C1---C2 P1..P2: First pull request C1..C2: My working branch P3..P4: More work done inbetween P5: The commit that merges in master branch changes P6: More regular work
P1..P2
) E
) C1..C2
), integro mi propia twig al maestro ( F
), y publico P3..P4
) P5
), realizan más cambios ( P6
) y envían una segunda request de extracción P5
)? Puede verificar si un commit de git merge contiene algún otro cambio haciendo un diff de diffs. Aquí hay una manera.
P1---P2 P3---P4---P5---P6 / \ / / \ A---B---C---D--E--------F---------G master \ / C1---C2
Calcule la diferencia de todos los cambios en la twig maestra entre el padre primario común E
y la confirmación de la twig maestra justo antes de la fusión, F
:
git diff EF> master_changes_to_merge.txt
Calcule una diferencia de todo lo modificado en la confirmación 'fusionar en maestro', P5
git diff P4 P5> master_changes_actually_merged.txt
Difieren aquellos:
diff master_changes_to_merge.txt master_changes_actually_merged.txt
Si el paso 3 no muestra salida, no debería haber cambios de combinación malvados.