Enfoque adecuado para fusionar conflictos cuando se empuja desde un tenedor?

Recientemente descubrí en SO que el flujo adecuado para impulsar las posibilidades desde un tenedor al repository maestro es este:

  1. Crear una twig de problema en la bifurcación

  2. Crear request de extracción para fusionar esta twig con la maestra stream arriba

  3. Tire de los cambios desde arriba hacia el maestro de la horquilla

  4. Cambios de empuje desde el maestro de horquilla al maestro de horquilla remoto

Y todo funciona bien, pero no estoy seguro de qué hacer cuando me encuentro con un conflicto de fusión.

A saber, creo 3 twigs para 3 problemas y las terminé. Empujé las twigs al repository remoto de la horquilla y estoy listo para crear relaciones públicas. Creo relaciones públicas para BranchA, pero dice "no se puede fusionar automáticamente ya que tengo que resolver conflictos".

La resolución incluye que fusionaré primero esta twig con el maestro de la horquilla, resolveré conflictos y luego inserté los cambios fusionados en el repository principal en sentido ascendente.

¿Acaso no acabo de romper la regla de 4 pasos que mencioné arriba?

¿Hay alguna manera de no fusionar nada en Fork Master sino resolver conflictos dentro de la sucursal e impulsar la twig fija hacia arriba mediante PR?

La resolución incluye que fusionaré primero esta twig con el maestro de la horquilla, resolveré conflictos y luego inserté los cambios fusionados en el repository principal en sentido ascendente.

No: necesita recuperar desde la parte superior y volver a establecer la base de su twig de relaciones públicas, asegurándose de que su sucursal se aplique sin conflictos. Ese es el aspecto que debería tener el paso 3 (a less que la twig ascendente cambie con demasiada frecuencia, en cuyo caso, una fusión simple es suficiente en lugar de una rebase)

Luego fuerza empuje su twig hacia su tenedor. Será elegible para fusionarse con el repository upstream.

Como describo en " Mantenimiento de una twig que se sincroniza con el flujo ascendente ", puede configurar su sucursal local para pull --rebase automáticamente pull --rebase del repository ascendente, y pull --rebase a su bifurcación local.

Recientemente descubrí en SO que el flujo adecuado para impulsar las posibilidades desde un tenedor al repository maestro es este:

No hay un flujo "apropiado" con git. Git es independiente del flujo de trabajo y no viene con una order de trabajo prescrita. Debe comprender lo que hace y adaptarlo a sus necesidades.

Los 4 puntos que describes me parecen francamente incorrectos.

Un procedimiento de trabajo es, con más detalle (las twigs son like so ):

  • Cree una branch en el repository de horquillas, acceda a su repository de trabajo local
  • Trabaja localmente en la branch
  • Hacer algunos commits en la branch
  • Tire del master a su master local (que es un avance rápido trivial, nunca tocó el master )
  • Combina localmente el master con la branch (o, si estás trabajando solo en una branch , mejor aún, haz una rebase). Aquí es donde ocurre la resolución manual de conflictos.
  • Empuja tu nuevo master y branch al tenedor.
  • Cree su PR de branch desde fork-repos a master-repos, que ahora, por definición, también está libre de conflictos (hasta que alguien más modifique master nuevamente).