Flujo de trabajo de contribución en GitHub para cambios importantes
Información general
Este flujo de trabajo es adecuado para un colaborador que necesita realizar un cambio importante o que sea colaborador frecuente en un repositorio. Los colaboradores frecuentes suelen tener en marcha cambios continuos que pasan por varios ciclos de compilación/validación/ensayo, o abarcan varios días antes de extraerse la solicitud de desactivación y fusión.
Terminología
Antes de comenzar, vamos a revisar algunos de los términos de Git/GitHub usados en este flujo de trabajo.
Si no está familiarizado con conceptos de Git y GitHub, como un repositorio o rama, revise primero los aspectos básicos de Git y GitHub.
Flujo de trabajo
En este flujo de trabajo, los cambios fluyen en un ciclo repetitivo. Desde el repositorio local del dispositivo se dirigen hasta su ramificación de GitHub, al repositorio principal de GitHub y regresan localmente a medida que incorporan los cambios de otros colaboradores.
Utilizar el flujo de GitHub
Recordemos de Fundamentos de Git y GitHub que un repositorio Git contiene una rama principal, más cualquier rama adicional de trabajo en progreso que no se haya integrado en la principal. Siempre que introduzca un conjunto/establecer de cambios relacionados lógicamente, es una práctica recomendada crear una rama de trabajo para administrar los cambios a través del flujo de trabajo. Nos referimos a ella como rama de trabajo porque es un espacio de trabajo para repetir o pulir cambios, hasta que se puedan integrar de nuevo en la rama maestra.
Aislar los cambios relacionados en una rama específica permite controlar e introducir dichos cambios de forma independiente, dirigiéndolos a un tiempo de lanzamiento específico en el ciclo de publicación. En realidad, según el tipo de trabajo que realice, puede acabar fácilmente con varias ramas de trabajo en su repositorio. No es raro trabajar en varias ramas al mismo tiempo, representando cada una de ellas un proyecto diferente.
El siguiente paso es crear una nueva ramificación de trabajo en el repositorio local para capturar los cambios propuestos. Cada cliente Git es diferente, así que le aconsejamos que consulte la ayuda de su cliente preferido. Puede ver una descripción general del proceso en la Guía de GitHub sobre el flujo de GitHub.
Procesamiento de solicitudes de extracción
Los cambios propuestos se envían agrupados en una nueva solicitud de extracción (PR) que se agrega a la cola de PR del repositorio de destino. Una solicitud de extracción habilita el modelo de colaboración de GitHub, solicitando que los cambios de la rama de trabajo se extraigan y se fusionen en otra rama. En la mayoría de los casos, esa otra rama es la rama predeterminada o principal en el repositorio principal.
Validación
Antes de poder fusionar la solicitud de extracción en su rama de destino, es posible que sea necesario pasar uno o más procesos de validación PR. Los procesos de validación pueden variar según el alcance de los cambios propuestos y las reglas del repositorio de destino. Una vez enviada la solicitud de extracción, se espera que el contenido se revise y, si procede, se fusione en el repositorio principal.
Revisar y desconectar
Una vez completado el procesamiento de todas las PR, deberá revisar los resultados (comentarios PR, URL de vista previa, etc.) para determinar si son necesarios cambios adicionales en los archivos antes de desactivar la fusión. Si un revisor de PR ha revisado la solicitud de extracción, también puede realizar comentarios si quedan problemas o preguntas pendientes por resolver antes de la fusión.
Cuando en la solicitud de extracción no existen problemas y se desactiva, los cambios se vuelven a fusionar en la rama principal y se cierra la solicitud de extracción.
Publicación
Recuerde, la solicitud de extracción debe fusionarse con un revisor de PR antes de que los cambios se puedan incluir en la siguiente ejecución de la publicación programada. Normalmente, las solicitudes de extracción se revisan o fusionan en el orden de envío. Si la solicitud de extracción requiere la fusión para la ejecución de una publicación específica, deberá trabajar con antelación con el revisor de PR para asegurarse de que la fusión se produzca antes de la publicación.