¿Cómo puedo aplicar fácilmente una corrección de errores en varias twigs de lanzamiento en Git?

He estado usando git por un time para mis desarrollos de un solo hombre, pero hasta ahora no he tenido problemas de ramificación difíciles y parece que olvidé algo fundamental que sin duda "sabía" justo después de leer la Versión Pragmática Control usando Git Book ..

A menudo tengo varios lanzamientos antes de lo que realmente se publica en mi website, de modo que cuando aparece un informe de error, solo los aplico a la twig principal actual en lugar de corregirlos en la próxima versión lanzada. Por supuesto, me gustaría cambiar eso para get soluciones de forma más rápida.

Digamos que 1.0 acaba de ser lanzado, 1.1 será lanzado pronto, pero ya estoy trabajando en 1.3, por ejemplo

1.0 - released 1.1 - finished 1.2 - finished 1.3 - in development 

Un informe de error entra … generalmente esto se solucionaría en 1.3, ¿pero cómo lo arreglo en 1.1?

Por lo que sé en svn y otros sistemas de control de fuente "tradicionales", necesitaría ramificar B.1.1 y B.1.2 y aplicar los cambios a cada twig por turno, luego build desde cada twig y finalmente aplicar la corrección a la twig maestra

Me parece recordar que git, sin embargo, hace algo inteligente: ramifico B.1.1, hago los cambios allí, hago {algo} y B.1.2 y las twigs maestras se actualizan automágicamente con la corrección. ¿Es esto posible o imaginé {algo}?

La forma correcta en este caso sería:

  • asegúrese de crear B1.1 y B1.2 (para aislar las correcciones finales en sus twigs respectivas)
  • aplica tu parche en el maestro
  • cherry-pick que se compromete con B1 y B2

Como se menciona en este hilo , eso sería:

asegura que el maestro no retrocede con respecto a una twig más antigua. (No utilice la fusión a less que desee fusionar todos los cambios de una twig a otra, en lugar de solo la confirmación que menciona).

¿Qué tal si en este caso se fija en B1.1, fusionando B1.1 en B1.2, luego B1.2 en B1.3?