Corrija el procedimiento para usar los cambios de twig pendientes en una nueva twig

Envía una request de extracción para fusionar la Branch A en maestra.

Mientras esto está pendiente (1 hora más o less) y desea utilizar las características pendientes de la twig A mientras espera, crea la Branch B

¿Debería ser la Branch B una sucursal de la Branch A

o debería la Branch B ser una twig de master y luego fusionar la Branch A

Respuesta corta : usar otra request de extracción puede ser peligroso. Aún puede desarrollar su function B, entonces hay dos forms de hacerlo:

  • desarrollarlo en A twig y actualizar su request de extracción original, de modo que contenga ambas funciones, o
  • desarrollarlo en una twig temporal (que puede estar en cualquier lugar que desee), pero después de fusionar A para masterizar, vuelva a establecer su trabajo en esa combinación.

Larga respuesta :

Una (pero no la única) cosa a tener en count aquí es la fusión entrecruzada . Puede causar problemas con la resolución de conflictos y, a veces, incluso revertir silenciosamente algunos cambios. (Git reclama un cuidado especial para este caso, pero no sé qué tan bueno es). Puede suceder incluso en su caso simple, con los siguientes pasos:

  • crear la twig A desde algún compromiso maestro a0
  • característica de código A
  • fusionar A y algunos maestros posteriores cometer b0 y crear la twig B allí
  • function de código B
  • fusionar A para dominar durante la combinación de request de extracción
  • ahora la fusión B con el maestro será cruzada uno:

diagrama de fusión entrecruzado

Podrías solucionar este problema exacto . Por ejemplo, puede fusionar el máster en A , avanzarlo a esa combinación y luego iniciar la twig B Entonces la fusión posterior de B no será entrecruzada:

la combinación entrecruzada prevenía el diagrama

Pero hay muchos más problemas posibles que pueden aparecer. Podrías tener varias twigs B Podrías tener varias twigs A Puede necesitar actualizar A después de la revisión, mientras ya está haciendo su function B Podría suceder que A no sea correcto en absoluto y deba hacerse de otra manera, o no hacerse en absoluto. Puede tratar de analizar el gráfico de revisión en cada caso y anticipar posibles problemas. Pero si trabajas en un equipo, probablemente necesites una política simple que evite posibles problemas. El caso más simple de dicha política, adoptado por muchos equipos, es que no usan twigs de características una encima de la otra, sino que todas comienzan a partir de alguna confirmación maestra.

Pensé que esto parece estar basado en opiniones. Probablemente puedas seguir estos pasos:

 git checkout Branch A 

luego crea una nueva sucursal

 git checkout -b Branch B // creating off branch A 

extraiga el último código maestro a la twig B para asegurarse de estar actualizado

 git pull origin master //making sure master is merged to the new branch 

De modo que una request de extracción de B a master / Branch A tampoco tendría conflictos.