Git fusionando twig en el maestro

Si tienes una sucursal que has separado de Master y luego has desarrollado tu function en ella … cuando se trata de fusionar de nuevo en master, he escuchado 2 enfoques diferentes:

  1. Primero fusione el maestro en la twig de características, y luego fusione la twig nuevamente en el maestro.
  2. Fusiona tu twig en el maestro.

¿Alguien puede decirme qué método es mejor y si hay un beneficio real para el primero?

O si hay un mejor método?

Digamos que creas feature-sev desde master, y mientras tanto, creo feature-eric . Mi twig modifica el mismo file que el tuyo; de hecho, sucede que se superpone de una manera que nuestro cliente de git no es lo suficientemente inteligente como para entender. Termino el desarrollo primero y fusiono mis cambios en.

En esta situación, inevitablemente se le pedirá que resuelva el conflicto.

CONFLICT (content): Merge conflict in stackoverflow.html Automatic merge failed; fix conflicts and then commit the result. 

Si fue con (1), fusionando el maestro en la sucursal y asegurándose de que todo se ve bien, resolverá el conflicto mediante una combinación de fusión en feature-sev . Si comete errores durante la resolución, puede deshacerlos sin ninguna modificación directa al máster. Esto es bueno.

Si fue con (2), resolverá el conflicto mediante una confirmación de fusión realizada directamente al maestro. Si cometes algún error, romperás maestro. Esto es malo.

Supongo que depende 😉

Algunas cosas a considerar:

  • ¿Necesitas la twig de características por más time después de la fusión? Si es así, podría ser útil fusionar el master en él así como fusionar de nuevo a master . De lo contrario, no tiene mucho sentido fusionarse con la twig de características si va a eliminarla de todos modos.
  • ¿Está bien que rompa su copy de trabajo local de la twig master ? De lo contrario, debe evitar combinar el código en el master que puede generar muchos conflictos que debe resolver manualmente. Si está bien, proceda.

En general, diría que depende de cómo trabajes con git.

Como generalmente uso las twigs de function solo temporalmente y las elimino después de finalizar con éxito una característica y haberlas fusionado en master , normalmente me fusiono directamente en master y elimino la otra twig posteriormente.

Por otro lado, puedo imaginar que puede haber situaciones en las que puede ser útil hacerlo al revés. Pero mientras no haya razones fuertes, trataré de evitarlo. Una fusión es suficiente ;-).

Teóricamente, no hay diferencia. Tiene un set de cambios en una twig que está combinando con un set de cambios en otra twig. Realmente no importa dónde terminan esos cambios.

En la práctica, es mejor fusionar los cambios en la twig de características porque le proporciona un lugar aislado para resolver conflictos. Esto es especialmente importante si la twig de características ha estado en desarrollo durante mucho time, ya que a menudo hay conflictos sutiles que se resolverán después de la primera confirmación.

El mejor enfoque es llevar a cabo actualizaciones periódicas desde la twig maestra a la function, networkinguciendo la probabilidad de conflictos al final del desarrollo de características.