¿Cómo fusionar twigs secuencialmente con un historial claro usando git?

Tengo twigs develop y upgraded que deseo fusionar. La upgraded twig proviene del develop pero hay alnetworkingedor de 50 nuevas confirmaciones (principalmente fusiones con otras sucursales) y muchos más cambios en las upgraded . Por lo tanto, quiero fusionar el develop en upgraded secuencialmente (commit by commit), porque hay cambios de API que deben actualizarse y fusionar conflictos. Pero cuando lo hago simplemente fusionando commits desde develop , crea una nueva connection para cada commit en el gráfico. Realmente no quiero 50 routes de charts innecesarias …

¿Cómo puedo evitar estas locas conexiones de charts? Con mucho gusto usando Atlassian Sourcetree GUI.

enter image description here

Si ya has hecho el trabajo y solo quieres aplastar todas las fusiones, consulta Reducir una secuencia de pequeñas fusiones de master en mi twig con git mientras mantienes la reference al maestro. (Esto usa la línea de command, probablemente sea imposible en una GUI, ya que las GUI están diseñadas para facilitar el hacer lo de siempre, y rara vez toman en count cosas inusuales).

Si desea hacer esto en el futuro, git imerge (como se menciona en el comentario de jthill ) hace el trabajo. Nuevamente, se ejecuta desde la línea de command.

Cree una twig secundaria develop-rebase que apunte al mismo tree que develop . Mantiene la twig de develop original en caso de que algo salga mal. Luego, rebase develop-rebase además de upgraded , que aplica cada commit secuencialmente. Hágalo de manera interactiva para que tenga la oportunidad de probar después de cada confirmación.

Con suerte, obtendrá un estado limpio y aplicará algunos parches durante este process.

Puede detenerse aquí si es suficiente para usted. Pero si quiere que una fusión desde el develop upgraded sin rebases intermedios, puede tomar la diferencia de su nuevo develop-rebase y develop , aplicarla además de develop luego deshacerse de develop-rebase .

Luego, realice diferentes commits atómicos a partir de ese parche que explique cómo se modificó su develop para hacerlo fusionable con upgraded y merge.