La forma correcta de enviar request de extracción a través de GitHub (cuando se contribuye a la fuente abierta)

He bifurcado y clonado un proyecto de GitHub, luego hice una twig de maestro para hacer mis cambios. Una vez que realicé los cambios y deseo enviar una request de extracción, me pregunté cuál sería la mejor manera de hacerlo.

(1) Enviar una request de extracción al repository de subida directamente desde mi sucursal, luego fusionar mi sucursal con el maestro en mi repository más adelante.

o

(2) Fusionar mi twig con el maestro en mi repository primero, y luego enviar una request de extracción al repository de mi maestro.

Como regla general, no debes desarrollar en la twig principal. Aunque técnicamente puede, la twig maestra generalmente se usa para rastrear el estado actual del proyecto. Dado que su request de extracción aún no se ha aceptado, no refleja el estado actual, y fusionarlo con su maestro local solo causará confusión. La mejor práctica sería algo como esto:

  1. Tenedor el proyecto
  2. Crear una twig de característica local (por ej., git checkout -b myfeature )
  3. Desarrollar, probar y validar localmente.
  4. Empuje la twig de característica local a una twig remota en su count de GitHub (por ej., git push origin myfeature ).
  5. Cree una request de extracción desde su twig de entidad ( yourname/myfeature ) a la twig principal ( projectowner/master ).
  6. Obtenga una revisión, corrija la request de extracción según sea necesario
  7. El mantenedor del proyecto fusiona su request de extracción
  8. Actualice su propio maestro local con el parche combinado (por ejemplo, git fetch upstream && git rebase upstream/master ).

(1) es mejor porque puede tener múltiples twigs: una twig por request de extracción. Y no es necesario fusionar una twig de relaciones públicas para dominar (a less que lo desee).