Comment faire des correctifs avec les requêtes Github Pull

mise en garde: je suis assez nouveau à git et GitHub.

donc, dans ma configuration actuelle, mon équipe utilise des correctifs de flux git (généralement commencés et terminés par un outil graphique tel que GitKraken ou IntelliJ) pour faire des changements qui doivent être fusionnés en deux branches et poussés en amont dans les deux. Ainsi, par exemple, le flux serait:

  1. Tirez la dernière de maître
  2. Démarrer correctif
  3. valider les modifications
  4. fusionner la branche hotfix EN master et développer et pousser à la fois en amont

nous sommes maintenant à la recherche de déplacer notre code dans GitHub et nous aimerions commencer à utiliser des requêtes Pull, pour quelques raisons:

  • CI crochets pour exécuter des tests et des trucs
  • un endroit pour mettre le code spécifique de commentaires ne sont pas directement liées à la sous-jacentes "problème"
  • éviter la nécessité pour tout le monde de tirer constamment le dernier maître / développer à leur machine locale afin qu'ils puissent fusionner les modifications

mais dans le cas de Hotfixes, Je ne suis pas sûr de savoir quoi faire parce que je fusionne en deux branches mais c'est vraiment une "action" donc créer manuellement deux demandes de pull semble bizarre, d'autant plus que l'étape 4) dans notre flux actuel est un simple clic.

Est-il une façon intelligente de ce traitement? Mon cas idéal serait que le fait d'appuyer sur le bouton de fusion sur la requête Pull fusionnerait avec les deux, mais cela ne semble pas être une option disponible.

24
demandé sur Mickaël Derriey 2017-02-14 18:04:04

1 réponses

comme vous l'avez mentionné, une requête Pull n'a que cible branche, donc vous ne serez pas en mesure de pousser le hotfix à la fois master et develop en fusionnant une requête Pull.

je suis aussi surpris que vous mentionniez votre étape #4-fusionner la branche hotfix aux deuxmaster et develop et push upstream-est une action. Alors qu'il y a de fortes chances que la fusion de hotfixmaster ne fonctionne pas dans les conflits de fusion, je ne peux pas en dire de même pour la fusion à partir de hotfix pour develop puisqu'il aurait pu être travaillé depuis le dernier déploiement en production.

Ma recommandation est la suivante:

  • Créer un PR de hotfixmaster et avoir quelqu'un examen afin de valider la correction
  • une Fois qu'il est fusionné dans master, créez un autre PR hotfixdevelop et voir si vous exécutez dans les conflits de fusion
    • si c'est le cas, résolvez les conflits de fusion de sorte que le PR se retrouve dans un État de être fusionné, et avoir quelqu'un examiner le PR
    • S'il n'y a pas de conflits de fusion, demandez à quelqu'un d'examiner le PR

une solution alternative, si vous voulez vraiment suivre le chemin automatisé, serait de tirer parti à la fois des webhooks GitHub et de L'API.

Le webhook permettant de vous averti lorsqu'un RP 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 réagir à cet événement en utilisant l'API créer un nouveau PR à partir de la même hotfix branche develop.

il faudra un certain développement, et l'effort pourrait ne pas valoir la peine puisque la création d'une RP via L'UI est encore assez facile et rapide.

22
répondu Mickaël Derriey 2017-02-17 06:01:15