Comment modifier la demande d'extraction Github?

Réponses:

178

il vous suffit de pousser plus de commits sur la branche pour laquelle la demande est adressée. La demande de tirage le récupérera alors

Exemple:

Si vous voulez avoir b fusionné avec master

  1. Vous poussez c1, c2, c3 vers b
  2. puis vous faites une nouvelle demande pour b
  3. il est examiné et vous avez besoin de plus de commits
  4. Vous poussez c11, c21, c31 vers b
  5. La demande d'extraction affiche maintenant les 6 six commits
Daij-Djan
la source
6
Est-il possible d'ajouter des validations à cette pull request par quelqu'un d'autre, à l'exception de l'auteur de cette pull request?
skywinder
4
tout le monde qui pousse à la branche spécifique
Daij-Djan
@ Daij-Djan très souvent si quelqu'un fait une Pull Request, il pousse à sa propre fourchette du référentiel. Est-il possible d'ajouter des commits à un tel PR par des personnes n'ayant pas accès à son fork?
Maciek Łoziński
1
@skywinder peut-être pourriez-vous vérifier cette question: est-il possible de changer le code d'autres personnes dans les pull requests (Github)?
Maciek Łoziński
@ MaciekŁoziński la réponse est également seulement si "vous [pouvez] pousser vers la branche spécifique" :)
Daij-Djan
34

Je n'avais qu'un seul commit dans une pull request, et j'avais l'habitude git commit --amendde le mettre à jour. J'ai ensuite fait une poussée forcée avec git push -fdonc mon commit modifié a remplacé l'original. La demande d'extraction a automatiquement récupéré le nouveau commit. (Il montrait en fait les deux commits, mais quand j'ai rechargé la page, l'ancien commit avait disparu.)

Ainsi, même si une poussée forcée n'est généralement pas recommandée, elle peut être utile pour les demandes d'extraction. Ce n'est pas recommandé car si quelqu'un base un commit sur le vôtre, il devra faire un rebase après votre changement. Mais puisque personne ne devrait baser son travail sur une demande d'extraction en cours d'examen, cela devrait être assez sûr dans cette situation.

Malvineous
la source
8

Si vous continuez à apporter des modifications et continuez à pousser vers la même branche, les commits raffinés seront ajoutés à la même demande d'extraction (à moins que votre demande d'extraction n'ait été fusionnée). Cela pourrait rendre l'histoire très encombrée.

Une solution alternative et une technique que j'utilise est la suivante:

  1. Créez une nouvelle branche (correctifs) à partir du référentiel (en amont) et de la branche (développer) à laquelle vous avez l'intention d'envoyer la pull request en faisant:

    la branche git corrige en amont / develop

  2. Ajoutez vos commits raffinés directement à cette branche nouvellement créée.

    git commit -m "votre message"

  3. Poussez cette branche vers votre propre télécommande fourchue (pourrait être nommée origin).

  4. Comparez et envoyez une nouvelle demande d'extraction avec un historique de validation propre.
  5. En outre, il est judicieux de supprimer votre branche après la fusion de la demande d'extraction.
  6. Et vous pouvez commenter et fermer vos demandes d'extraction précédentes.
user_19
la source
1

Vous pouvez également utiliser github api .

exemple avec curl

curl --user "your_github_username" \
     --request PATCH \
     --data '{"title":"newtitle","body":"newbody",...}' \
     https://api.github.com/repos/:owner/:repo/pulls/:number

vous pouvez trouver la liste détaillée des données dans la documentation du développeur github

exemple: changer le nom de ma pull request

curl --user "jeremyclement" \
     --request PATCH \
     --data '{"title":"allows the control of files and folders permissions."}' \
     https://api.github.com/repos/Gregwar/Cache/pulls/9
hexaJer
la source
J'ai essayé de changer de branche mais je pense head/labelet head/refne sont pas modifiables.
hexaJer