Cómo usar adecuadamente git y ramas.

Soy algo nuevo en el control de versiones con GIT. Leo estoGuía y estoy siguiendo el enfoque básico que se muestra en el diagramaAQUÍ. Sin embargo, tengo algunas dudas sobre cómo usar las ramas de git para separar el desarrollo de nuevas características del código existente.

Aquí hay un ejemplo. Supongamos que al principio, mi repositorio contiene las dos ramas principales siguientes:

Rama maestra (que contiene la versión de lanzamiento)Desarrollar rama (que contiene nuevas correcciones o funciones para separarlas de las características del proyecto existente)

Cuando necesito desarrollar nuevas funciones o módulos, creo sucursales desde Desarrollar e inicio los nuevos proyectos de código allí. Por ejemplo, hago tres nuevas sucursales para agregar características relacionadas conSun, StarySuperNova. Ahora, mi repositorio contiene cinco ramas:

Rama maestra: Versión 1.0.0Desarrollar rama: Modificación después de la versión 1.0.0NewModule_Sun branch: agregue Sun al proyecto (crear desde Develop branch)Nueva ramaModule_Star: agregue una estrella al proyecto (crear desde Desarrollar rama)Nueva ramaModule_SuperNova: agregue SuperNova al proyecto (crear desde Desarrollar rama)

Para la versión 1.0.1, quiero incluir elSun yStar módulos, pero noSuperNova. Entonces, los fusiono con Desarrollar y luego fusiono Desarrollar con la versión:

Combinar NewModule_Sun en DesarrollarCombinar NewModule_Star en DesarrollarMerge Develop into Master (versión 1.0.1)

La rama de Desarrollo debe mantenerse permanentemente, pero laSun yStar Las ramas ya no son necesarias. Se eliminan:

Eliminar la rama NewModule_SunEliminar la rama NewModule_Star

Después de estos cambios, mi repositorio contiene las siguientes tres ramas:

Rama maestra: Versión 1.0.1Desarrollar Rama: Modificación después de la versión 1.0.1NewModule_SuperNova branch: modificación posterior a la versión 1.0.0 (creada desde Develop cuando no se fusionó con las sucursales de Star / Sun)

==

En primer lugar, ¿estoy usando las ramas de git correctamente?

En segundo lugar, revisé la historia de la rama Desarrollar final, y parece que he perdido algo de información sobre elNewModules. ¿Eso es normal? Y, ¿es posible transferir toda la información del historial a la rama Desarrollar?

¡¡Gracias!!

Respuestas a la pregunta(2)

Su respuesta a la pregunta