Preguntas de lanzamiento y desarrollo basadas en troncal

Tengo problemas para entender cómo lidiar con el siguiente escenario:

  1. La característica A está comprometida a master como compromiso A
  2. Estamos listos para el lanzamiento v1.0.0 por lo que labelmos commit A como v1.0.0 y creamos una twig de liberación rel-1.0.x para QA.
  3. La característica B está comprometida a master como confirmación B
  4. QA atesting v1.0.0 , implementamos y eliminamos la twig rel-1.0.x .
  5. Estamos listos para el lanzamiento v2.0.0 por lo que labelmos commit B como v2.0.0 y creamos una twig rel-2.0.x para QA.
  6. Se encuentra un error en la producción ( v1.0.0 ) y debe corregirse e implementarse de inmediato.

En este punto, no estoy seguro de cómo debemos manejar eso. Si el error está en el tronco, podríamos crear una twig de revisión desde el tronco, arreglar el error y fusionarlo en el tronco. Luego, cree una twig rel-1.0.1 desde la v1.0.0 , select la corrección desde la troncal, v1.0.1 como v1.0.1 y v1.0.1 .

Ahora lo que me parece extraño es que la confirmación de v1.0.1 no es como está en el master dado que ha sido escogida a mano del master y labelda en la twig rel-1.0.1 . Además, si la solución también es necesaria en rel-2.0.x , ¿cómo debemos manejar esto? ¿Deberíamos seleccionar de nuevo la corrección de errores del tronco y labelrla como una versión diferente, como v2.0.1 ?

Este es el tipo de gráfico que obtendría haciendo lo anterior (tenga en count que v1.1 representa la versión 2.0 del text anterior y que es la Second feature A fix que se produjo al preparar la versión v1.1 ):

enter image description here