tag - Cómo hacer revisiones con solicitudes de extracción de GitHub
git tag commits (1)
Como mencionó, una Solicitud de extracción solo tiene una rama de destino, por lo que no podrá empujar el hotfix tanto al master
como al develop
mediante la fusión de una Solicitud de extracción.
También me sorprende que mencione que su paso # 4: fusionar la rama de hotfix para master
y develop
e impulsar el proceso ascendente, es una acción. Si bien existe una alta posibilidad de que la fusión de la hotfix
al master
no se convierta en conflictos de combinación, no puedo decir lo mismo de la fusión de la hotfix
a develop
ya que podría haberse trabajado desde la última implementación hasta la producción.
Mi recomendación sería entonces la siguiente:
- Cree una PR de la
hotfix
paramaster
y haga que alguien la revise para validar la corrección - Una vez que se fusiona con el
master
, crea otro PR a partir de unahotfix
paradevelop
y ver si te topas con conflictos de combinación- Si ese es el caso, resuelva los conflictos de fusión para que el RP termine en un estado que se fusionará y pídale a alguien que revise el RP.
- Si no hay conflictos de fusión, haga que alguien revise el RP
Una solución alternativa, si realmente desea seguir el camino automatizado, sería aprovechar los webhooks y API de GitHub.
El webhook le permitiría ser notificado cuando se fusiona un PR . Puede inspeccionar la carga útil para asegurarse de que la rama base comience con la hotfix/
y que la rama objetivo sea la master
. Luego, podría reaccionar a ese evento utilizando la API para crear un nuevo PR a partir de la misma rama de hotfix
para develop
.
Implicará algo de desarrollo, y el esfuerzo podría no valer la pena, ya que crear una RP a través de la interfaz de usuario es bastante fácil y rápido.
Advertencia: soy bastante nuevo tanto para git como para GitHub.
Por lo tanto, en mi configuración actual, mi equipo usa Hotfixes de git flow (generalmente iniciados y finalizados por una herramienta gráfica como GitKraken o IntelliJ) para realizar cambios que deben combinarse en dos ramas y ser empujados hacia arriba en ambas. Así, por ejemplo, el flujo sería:
- Tire de lo último del maestro
- Iniciar hotfix
- Cometer cambios
- Combine la rama de hotfix tanto en el master como en el desarrollo y empuje tanto upstream
Ahora estamos viendo cómo mover nuestro código a GitHub y nos gustaría comenzar a usar las solicitudes de extracción, por un par de razones:
- CI engancha para ejecutar pruebas y esas cosas
- un lugar para colocar comentarios específicos de código que no estén directamente relacionados con el "problema" subyacente
- evitando la necesidad de que todos estén constantemente llevando el último master / desarrollo a su máquina local para que puedan fusionar los cambios
Pero en el caso de Hotfixes, no estoy seguro de qué hacer porque me estoy fusionando en dos ramas, pero en realidad es una "acción", por lo que crear manualmente dos solicitudes de extracción parece extraño, especialmente porque el paso 4) en nuestro flujo actual es un solo clic.
¿Hay una forma inteligente de manejar esto? Mi caso ideal sería que al presionar el botón Combinar en la Solicitud de extracción solo se fusionaría en ambos, pero esa no parece ser una opción disponible.