git branching para mantener varias versiones

Estoy considerando la forma de administrar las sucursales en git repo en nuestro proyecto. He leído un artículo famoso y me gustó mucho la idea y parece que este model debería ser útil para nosotros.

Sin embargo, hay una suposition oculta en el artículo, que proviene de la existencia de master twig master : esta última versión, mayor es su versión. Por ejemplo 2.0.1 se lanza siempre después de 1.5.10 . Por lo tanto, cuando atraviesas cada confirmación en el maestro, la versión siempre boostá.

Esto no es cierto para nuestro caso de proyecto. Tenemos que mantener varias versiones para diferentes clientes. Para un cliente, tenemos que admitir (y entregar arreglos) para la versión 1.5 , para otro cliente, la versión es 2.0 . Obviamente, la versión 1.5.10 en nuestro caso puede venir más tarde (en términos de time) que la versión 2.0.1 . Comprometer 1.5.10 en el master después de que se cometió 2.0.1 no tiene sentido.

¿El model del artículo no es adecuado para nosotros, o podemos modificarlo un poco para que funcione?

Es una práctica conocida tener diferentes twigs para las principales versiones correspondientes.

master sigue siendo la twig de integración principal.

Luego debe mantener sus twigs de publicación por separado y decidir qué confirmaciones desea entregar a cada twig de publicación.

Siempre es bueno search proyectos famosos que conozca para adoptar su model de publicación y conocer sus políticas de repository. Aquí está el buen ejemplo de mantener varios lanzamientos importantes usando git scm https://github.com/django/django/branches

El maestro debe reflejar la versión actual solamente, así es como lo he implementado. Cualquier otra versión está en su twig.

P.ej

 V1 (master) -> -> -> \/ -> V2 (master) v2 -> -> -> -> /\ -> V1 (no longer master) 

Los commits en la twig V1 ya no forman parte del historial maestro y el historial de V2 se ha fusionado con el maestro. Entonces, ningún historial debería entrar en conflicto en tus loggings.