server de puesta en escena git

Estamos trabajando en la creación de un entorno de git, y para nuestro flujo de trabajo, nos gustaría hacer lo siguiente:

enter image description here

El problema es que quiero poder elegir fácilmente los cambios que deseo impulsar desde la puesta en escena. Por ejemplo, si dev1 está trabajando en la function 1 y dev2 está trabajando en la function 2, es posible que solo desee impulsar los cambios de la function 1 a la producción. es posible? Incluso podría tener un caso en el que dev1 esté trabajando en la característica 3 y la característica 4, pero solo deseo pasar la function 4 a la producción.

Esto es muy común Lo hago con frecuencia

El enfoque de uso es hacer que los desarrolladores creen lo que se llama twigs características (o solo twigs) .

Esto se hace usando el command:

git checkout -b my_new_feature 

Luego pueden trabajar en la function y todos los demás pueden get ese código, pero no se mezclará con ninguna otra twig hasta que esa twig se fusione en su twig principal, así:

 git checkout master git merge my_new_feature 

Diferentes desarrolladores pueden trabajar en diferentes funciones, sin importar el time que tarde, luego puedes fusionar para dominar (y presionar para poner en escena) cada vez que tenga sentido.

Probablemente sea más fácil para cada desarrollador mantener su propia sucursal, que es responsable de mantener actualizada a las versiones actuales de su twig principal. O incluso una twig por "característica que es un candidato de fusión distinto". Entonces, usted, como propietario de la twig de producción, puede elegir qué twigs fusionar y cuándo. Tener a todos presionando en un tree de etapas compartidas que no usas en un escenario simple en el path a la producción suena como una receta para errores.