Git Workflow: seleccionando características para liberar de QA a PROD

Soy un novato en Git y me gustaría saber si esta idea es incluso posible usando un SCM.

Mi idea sería que el equipo de DEV trabaje localmente en las características, luego inserte esas características en el control de calidad. En este punto, cuando QA probó y verificó las historias, la empresa puede decidir qué historias se instalarán en prod.

Entonces, por ejemplo, DEV está trabajando en las historias A, B, C y D. Esos 4 son luego probados en QA, pero la empresa decide instalarlos en la producción solo en B y D.

Básicamente, QA tendría todas las historias que están en PROD y posiblemente algunas más.

¿Es posible hacer algo como esto usando git? ¿Ve problemas (las dependencies entre las historias pueden ser uno de ellos) usando este enfoque?

¡Gracias! Roberto

¡Sí! Escribí un artículo completo sobre este flujo de trabajo: http://dymitruk.com/blog/2012/02/05/branch-per-feature/

La key de este enfoque es que todas las características o tareas se inician desde el mismo punto. Esto permite a cualquier persona, incluso a los que no son progtwigdores, seleccionar las funciones que desean en un determinado entorno o escenario. Puedes dedicar una twig para cada uno de estos.

Si desea que alguien haga una publicación con una mezcla y combinación ad-hoc de características, se recomienda encarecidamente que comparta su directory rr-cache desde el directory .git en su repository. De esta forma, una vez que se resuelve un conflicto, no será necesario volver a resolverlo cuando alguien tome algunas características y las una en una nueva. Esto se llama rerere y lo explico en el artículo. Además, para automatizar el uso compartido, aquí se muestran los commands básicos que necesita para crear las secuencias de commands: Compartiendo memory caching de recuperación De esta manera puede hacer que cualquier persona que no sea desarrollador también se aproveche de esto.

Esto no fue sin controversia. El año pasado (hace casi un año y medio) hubo una acalorada discusión sobre esto con algunos pesos pesados ​​de progtwigción. Capturé la larga discusión e la incluí para que puedas juzgar por ti mismo: http://dymitruk.com/old-comments-about-branch-per-feature.html

En conclusión, esta disciplina le permitirá implementar en cualquier momento cualquier set de características que estén completas, sin importar el order en que fueron codificadas.