Progtwigción del flujo de trabajo con Git / AWS Elastic Beanstalk

Tengo un problema en mi flujo de trabajo.

Tengo 2 Git Branch: dev, prod

Uso codepipeline para publicar automáticamente en su contenido de server respectivo cuando el código se empuja a git

Entonces, si presiono para dev, el server dev se actualizará automáticamente.

Ahora, tengo un problema conceptual.

Todo mi equipo se está comprometiendo con el desarrollo, así que cuando fusione dev para prod todos mis cambios de desarrollador se implementarán, incluso si hay algunos cambios que no son estables para inst.

¿Cómo debería gestionarlo?

Estaba pensando en crear una twig externa, pero cada twig debe estar relacionada con un server, entonces, ¿necesitaría más infraestructura (1 server por twig, si tengo 10 personas en equipo, 10 serveres?), Y el flujo es más pesado. No me gusta demasiado

¿¿¿Alguna de idea de cómo arreglarlo???

Fácil, deja de fusionar la twig dev en la twig prod. Cada function en la que se trabaja debería tener su propia twig. Esas twigs de características se deben fusionar en dev siempre que necesiten implementarse en dev y fusionarse en prod cuando estén lists para desplegarse en prod.

Deje de fusionar cosas en su twig de producción que no están lists para producción (eso realmente debería ser evidente). Y no tiene múltiples desarrolladores trabajando en múltiples características, todas en la misma twig.

Editar para describir mejor de lo que estoy hablando:

  1. Dev 1 funciona en la twig de características A:
    • git commit
    • git push origen A
  2. Dev 2 funciona en la twig de características B:
    • git commit
    • git push origen B
  3. Ambas características A y B están lists para probarse en el server de desarrollo:
    • git checkout dev
    • git merge origin / A
    • git merge origin / B
    • git push
  4. La característica A está list para lanzarse a producción, pero la característica B necesita más trabajo:
    • prod de pago de git
    • git merge origin / A
    • git push