Supongamos que las últimas confirmaciones en mi servidor son así:
A1 -> A2 -> A3
Mi repositorio local está sincronizado con el servidor y ahora paso desde A3:
A3
|
B1 -> B2 -> B3
Finalmente terminé mi tarea en la confirmación B3 y quiero enviarla al servidor y fusionarla (PR). Pero en el servidor alguien agregó nuevas confirmaciones:
A1 -> A2 -> A3 -> A4 -> A5
Al revisar A4 y A5, veo que no hay ningún conflicto con mi trabajo en B3, por lo que quiero fusionar mi trabajo como si me bifurcara directamente desde A5. Parece una tarea muy común, ¿cuál es la forma correcta de hacerlo?
Respuesta1
No tengo idea de cómo haces tus solicitudes de extracción. Si A1-A5 y B1-B3 se envían al control remoto en cada rama, todo lo que tiene que hacer es saltar a la rama A o B y luego git pull remote origin BRANCH A/B
nombrar. Como estabas trabajando en B, hazlo git pull remote origin BRANCH A
mientras estás en la rama B. Esto te dará A1-A5 y B1-B3 en la misma rama. Luego use la rama B para crear un PR para dominar.
Alternativamente (la forma correcta en mi opinión) es hacer un PR para que A lo domine y un PR para que B lo domine. La superposición de A que ya está en B no debería causar ningún problema.
Si A y B no estaban relacionados en absoluto, debería haber ramificado B de su desarrollo o rama equivalente.
He aquí un ejemplo de unestrategia de ramificación no linealpara flujos de trabajo más complejos.
Viendo estoflujo de trabajo lineal versus no linealpuede ayudar a visualizar mejor el desastre que está sucediendo.
Si mi explicación y comprensión de su situación son incorrectas, hágamelo saber para que pueda cambiar o eliminar por completo la respuesta.