Lo he estado usando git flow
por un tiempo. Tengo curiosidad por conocer un caso de uso específico.
Para uno de mis proyectos, tengo un ticket para una nueva función del sitio web. Este ticket depende de muchas subtareas. Me gustaría crear una rama de función para el ticket principal y luego, para cada subtarea, crear una rama de función fuera de la rama de función principal.
Supongamos que tengo un ticket PROJ-500 y creo una rama de funciones para él
git flow feature start PROJ-500
Entonces quiero integrar entradas PROJ-501
a través PROJ-515
en PROJ-500
antes de integrar toda la cosa en develop
. ¿Hay alguna forma de hacer algo como
git flow feature start PROJ-511 -b PROJ-500
Luego, con el tiempo, estas subtareas se completan y, cuando finaliza su función, la rama se fusiona en PROJ-500
.
git flow feature finish PROJ-511
El comando anterior se fusionaría PROJ-511
enPROJ-500
Y una vez que se completen todas las subtareas PROJ-500
, se terminarán y se fusionarán en develop
.
De esta manera, la nueva función del sitio web se integra en el desarrollo como una sola unidad en lugar de hacerlo por partes.
git flow feature start PROJ-511 PROJ-500
? El enlace que publicó en el comentario a la respuesta de DerekS sugiere que debería hacerlo.Respuestas:
Puede crear una rama de subfunción a través de
Pero no puede usar la herramienta GitFlow para fusionar la rama de nuevo en la rama de la función principal porque si lo hace
la función se fusionará en
develop
. Las subfunciones de Ergo no son compatibles , debe hacerlo manualmente.Alternativas: Sin embargo, el requisito no es nuevo. Existe un problema abierto , así como un proyecto de bifurcación que afirma admitir características de acabado en ramas distintas de
develop
. También encontré una solicitud de extracción con una implementación de esa función. Es posible que desee probar esa modificación y ver si está satisfecho con ella.Actualización 2019-12-13: como el usuario Matěj Kříž acaba de mencionar en su comentario, el usuario Tony Chemit ha escrito una respuesta aquí unos meses después de la mía, señalando gitflow-avh como una alternativa al producto gitflow original. Admite subcaracterísticas listas para usar con la sintaxis que se muestra arriba. Han pasado algunos años y hoy en día la edición AVH es parte de la instalación normal de Git para Windows, acabo de verificar esto en mi caja local y probé la opción de subfunción. Es decir, para los usuarios de Windows, simplemente funciona justo después de la instalación de Git.
fuente
Según entendí, gitflow está bastante abandonado.
gitflow-avh lo reemplaza y ofrece esta función (consulte https://github.com/petervanderdoes/gitflow#creating-featurereleasehotfixsupport-branches ).
Solo lo intento y me funciona bien.
PROJ-511 se fusionó con feature / PROJ-500 .
fuente
Como ya se mencionó, podemos iniciar una nueva función usando cualquier rama base con
Y para finalizar la función secundaria, podemos cambiar temporalmente la configuración de flujo de git para usar nuestra rama de funciones en lugar de
develop
:De esta forma, git flow ejecuta todos los comandos y comprobaciones de cordura. Finalmente, para restaurar la configuración, podemos ejecutar
fuente
Actualización (5 de noviembre de 2020): como se indica en la respuesta más reciente aquí , esto es posible con gitflow-avh, que ha reemplazado el flujo de git original.
===================
Respuesta original:
No creo que haya un método para esto en git flow, pero es bastante simple con solo git.
fuente