Mise en garde: je suis assez nouveau pour git et GitHub.
Donc, dans ma configuration actuelle, mon équipe utilise des correctifs git flow (généralement démarrés et terminés par un outil graphique tel que GitKraken ou IntelliJ) pour apporter des modifications qui doivent être fusionnées en deux branches et poussées en amont dans les deux. Ainsi, par exemple, le flux serait:
Nous envisageons maintenant de déplacer notre code dans GitHub et souhaitons commencer à utiliser les demandes de tirage, pour deux raisons:
Mais dans le cas des correctifs, je ne sais pas quoi faire car je fusionne en deux branches mais c'est vraiment une "action", donc la création manuelle de deux demandes de tirage semble bizarre, en particulier depuis l'étape 4) dans notre flux actuel. un simple clic.
Existe-t-il un moyen intelligent de gérer cela? Mon cas idéal serait que le fait d'appuyer sur le bouton Fusionner de la demande d'extraction fusionnerait simplement dans les deux, mais cela ne semble pas être une option disponible.
Comme vous l'avez mentionné, une demande d'extraction n'a qu'une une branche cible, vous ne pourrez donc pas envoyer le correctif aux deux master
et develop
en fusionnant une Pull Request.
Je suis également surpris que vous mentionniez votre étape # 4 - fusionner la branche du correctif à la fois master
et develop
et Push upstream - est une action. Bien qu'il y ait de fortes chances que la fusion de hotfix
vers master
ne se heurte pas à des conflits de fusion, je ne peux pas en dire autant de la fusion de hotfix
vers develop
car il aurait pu être travaillé depuis le dernier déploiement en production.
Ma recommandation serait alors la suivante:
hotfix
à master
et demandez à quelqu'un de le vérifier pour valider le correctifmaster
, créez un autre PR de hotfix
vers develop
et voyez si vous rencontrez des conflits de fusion Une solution alternative, si vous voulez vraiment emprunter le chemin automatisé, serait de tirer parti à la fois des webhooks GitHub et de l'API.
Le webhook vous permettrait d'être notifié lorsqu'un PR est fusionné . Vous pouvez inspecter la charge utile pour vous assurer que la branche de base commence par hotfix/
et la branche cible est master
. Vous pouvez ensuite réagir à cet événement en utilisant l'API pour créer un nouveau PR de la même branche hotfix
vers develop
.
Cela impliquera un certain développement, et l'effort pourrait ne pas valoir la peine, car la création d'un PR via l'interface utilisateur est toujours assez facile et rapide.