Estoy tratando de crear un flujo de trabajo personal. He reunido un diagrama de flujo de la hipotética vida útil de una versión: un desarrollador empujando a un repositorio público de github + un amigo que ayuda con alguna función y soluciona un error.
¿Es este un enfoque razonable para el control de versiones?
La idea principal es mantener el repositorio público ordenado:
Cada nueva versión se coloca en su propia rama hasta que finalmente se etiqueta en la rama maestra cuando finaliza.
Todo el trabajo se realiza en ramas de "función" o "revisión", nunca en una rama de lanzamiento real, para evitar anomalías.
Las fusiones a ramas de nivel superior siempre se vuelven a forzar o aplastar (para evitar el desorden).
Si es excesivo, no me importa porque el objetivo es aprender las habilidades que pueda necesitar para un proyecto más grande. El único problema sería si estoy haciendo algo completamente incorrecto o innecesario.
Edición 2: se corrigió la mala idea en el diagrama de flujo original y se hizo un poco más fácil de navegar.
fuente
--squash
error y agregué una cuadrícula para que sea más fácil de seguir.Respuestas:
Lo que veo mucho en la comunidad git / github es esto
maestro de sucursales desarrollar
Usted y sus colaboradores trabajan principalmente en el desarrollo, pero alguien puede tener una idea o una nueva característica, por lo que puede crear una rama de tema como git checkout -b user_comments.
Luego, a medida que avanza en el desarrollo, pasa a dominar una vez que obtiene una versión con la que está satisfecho y la etiqueta en la rama maestra como 1.0 o 1.1.2, etc. (busque versiones semánticas)
fuente