que - Git flow-crea una rama de características a partir de otra rama de características
git flow release example (4)
He estado usando git flow
por un tiempo. Tengo curiosidad por aprender acerca de un caso de uso específico.
Para uno de mis proyectos, tengo un ticket para una nueva función de sitio web. Este ticket depende de muchas subtareas. Me gustaría crear una rama de características para el ticket principal, y luego para cada subtarea crear una rama de características fuera de la rama de características principal.
Supongamos que tengo un ticket PROJ-500 y creo una rama de características para él
git flow feature start PROJ-500
Luego quiero integrar las entradas PROJ-501
través de PROJ-515
en PROJ-500
antes de integrar todo en el develop
. ¿Hay alguna manera de hacer algo como
git flow feature start PROJ-511 -b PROJ-500
Luego las horas extraordinarias se completan y, cuando finaliza su función, la rama se fusiona en PROJ-500
.
git flow feature finish PROJ-511
El comando anterior fusionaría PROJ-511
en PROJ-500
Y una vez que se hayan completado todas las subtareas, PROJ-500
se terminará y se fusionará para develop
.
De esta manera, la nueva característica del sitio web se integra en el desarrollo como una sola unidad en lugar de poco a poco.
Como 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.
git flow feature start PROJ-511 feature/PROJ-500
git flow feature finish PROJ-511
PROJ-511 se fusionó en la característica / PROJ-500 .
Como ya se mencionó, podemos iniciar una nueva función utilizando cualquier rama base con
git flow feature start PROJ-511 feature/PROJ-500
Y para finalizar la subcaracterística, podemos cambiar temporalmente la configuración de flujo de git para usar nuestra rama de características en lugar de develop
:
git flow config set develop feature/PROJ-500 && git flow feature finish PROJ-511
De esta manera, git flow ejecuta todos los comandos y las comprobaciones de validez. Finalmente, para restaurar la configuración, podemos ejecutar.
git flow config set develop develop
No creo que exista un método para esto en git flow, pero es bastante simple con solo git.
git checkout PROJ-500
git checkout -b PROJ-511
...do your PROJ-511 work...
git checkout PROJ-500
git merge PROJ-511
git branch -d PROJ-511
Puede crear una rama de subcaracterística a través de
git flow feature start PROJ-511 feature/PROJ-500
Pero no puede usar la herramienta GitFlow para fusionar la rama nuevamente dentro de la rama principal de la característica porque si lo hace
git flow feature finish PROJ-511
la característica se fusionará en develop
. Las subcaracterísticas de Ergo no son compatibles , debe hacerlo manualmente.
Alternativas: El requisito no es nuevo, sin embargo. Hay un problema abierto , así como un proyecto de bifurcación que afirma que admite características de acabado en sucursales distintas al develop
. También encontré una solicitud de extracción con una implementación de esa característica. Es posible que desee probar esa modificación y ver si está satisfecho con ella.