¿Nueva sucursal de origen o sucursal no fusionada cuando se trabaja en una nueva JIRA?

Quieres saber la practica Digamos que hay una stream ascendente y yo bifurqué desde allí.

Por cada ticket de JIRA en el que voy a trabajar, crearé una nueva sucursal local de mi origen. Las cosas son fáciles cuando termino el JIRA, empujo la twig hacia mi origen, creo una request de extracción hacia arriba, y después de que se fusiona, la saco desde arriba y comienzo desde allí.

No estoy seguro, si la twig de JIRA, después de empujado, no se ha fusionado al upstream todavía y estoy listo para trabajar en una nueva JIRA. Entonces creas una nueva sucursal local para la nueva JIRA basada en

  • la twig local JIRA no fusionada anterior (es decir, con los cambios no fusionados)

o

  • el padre de la JIRA no fusionada anterior (es decir, sin los cambios que realizó en la JIRA no fusionada)

o

  • no importa, siempre que los files en estas dos JIRA no tengan dependencia

Yo uso el siguiente enfoque:

  • Siempre cree la nueva twig de características (para su boleto JIRA) basada en la sucursal ascendente, ignorando su (y los de otras personas) los cambios no fusionados. De esta manera, siempre estás trabajando en un estado limpio.
  • Antes de crear su request de extracción, actualice su repository local desde el origen y vuelva a establecer la base de la twig de características en los cambios entrantes.

En mi opinión / experiencia, esta es la forma más limpia de hacer las cosas, ya que de todos modos tienes que volver a establecer los cambios salientes en los cambios entrantes. También garantiza que cada request de extracción solo contenga cambios del ticket en el que está trabajando actualmente, y no de ningún otro ticket no compartido.

Si comienza a trabajar en su segundo boleto JIRA basado en el primer package sin combinar, se encontrará con los siguientes problemas:

  • Su segundo PR no solo contendrá las correcciones del segundo ticket, sino también los cambios del primer RP sin fusionar, lo que podría no tener un impacto en el largo ploop, pero contaminará el segundo PR con cambios no relacionados.
  • Dado que probablemente no seas la única persona que trabaja en el código, debes realizar el paso de pull/rebase todos modos antes de crear tu RP, ya que los cambios de otras personas podrían haberse fusionado en el repository de subida mientras tanto.

Es posible que desee echarle un vistazo a Git Flow , que sugiere un model de bifurcación similar, con una twig de características independiente dedicada por function.

Otro popular model de ramificación que utiliza Pull Request es el model GitHub Flow .