Estoy trabajando en un proyecto y presenté mi primera request de extracción y mientras estoy esperando, quiero continuar trabajando en mi proyecto a partir de lo que trabajé en la fusión que aún está pendiente. En este momento tengo:
*master user_story_1
user_story_1
tiene una request de extracción abierta.
Ahora bash crear una nueva twig user_story_2
donde pueda continuar el trabajo que dejé en user_story_1
. ¿Cómo puedo hacer esto en Git sin entrar en conflicto o afectar mi fusión pendiente?
Supongo que desea iniciar la nueva twig user_story_2
además del trabajo que ha realizado en user_story_1
. Este es el flujo de trabajo que uso en este tipo de escenario:
Solicitud de user_story_1
abierta para user_story_1
:
* (user_story_1) * / * (master) * *
Crear una nueva twig user_story_2
basada en user_story_1
:
$ git checkout -b user_story_2 user_story_1
* (user_story_1, user_story_2) * / * (master) * *
Trabaja en la nueva sucursal:
* (user_story_2) * * (user_story_1) * / * (master) * *
Pull Request se fusiona:
* (user_story_2) * * | (master) |\| | * (user_story_1) | * |/ * * *
Eliminar la twig anterior:
* (user_story_2) * * | (master) |\| | * | * |/ * * *
Rebase la nueva twig en el master
:
* (user_story_2) * / * (master) |\ | * | * |/ * * *
Crea una nueva twig desde el máster para cada una de tus historias / características.
Antes de fusionar cada twig, fusionar el maestro en esa twig o volver a establecer la base de su twig en el maestro. Este último tiene mi preference, pero al final el resultado es el mismo.
Vas a tener conflictos, no hay forma de evitar eso. Sin embargo, desea resolver conflictos en su twig; no en el maestro. De esta forma, puedes probar tu sucursal después de resolver los conflictos antes de fusionarlo en maestro.