web-dev-qa-db-fra.com

Comment modifier la demande de tirage Github?

J'ai ouvert une demande de tirage pour un projet. Le responsable a décidé de l'accepter mais m'a dit de modifier certains contenus.

Comment puis-je le faire? Si je dois garder le hachage de commit inchangé, comment puis-je le faire?

147
flygoast

il suffit de pousser plus de commits sur la branche à laquelle la demande est destinée. La demande de tirage prendra ceci en charge alors

Exemple:

Si vous voulez avoir fusionné avec master

  1. Vous appuyez sur c1, c2, c3 à b
  2. alors vous faites une nouvelle demande pour b
  3. il est examiné et vous avez besoin de plus de commits
  4. Vous appuyez sur c11, c21, c31 à b
  5. La demande de tirage montre maintenant les 6 six commits
163
Daij-Djan

Je viens d'avoir un commit dans une requête pull, et j'ai utilisé git commit --amend pour le mettre à jour. J'ai ensuite fait une force Push avec git Push -f donc mon commit modifié a remplacé celui d'origine. La demande d'extraction récupère automatiquement le nouveau commit. (En fait, les deux commits étaient affichés, mais lorsque j'ai rechargé la page, l'ancien commet 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 refaire rebase après votre modification. Mais étant donné que personne ne devrait fonder son travail sur une demande d'attraction sous examen, il devrait être assez sûr dans cette situation.

32
Malvineous

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

Une solution alternative et une technique que j'utilise sont les suivantes:

  1. Créez une nouvelle branche (correctifs) à partir du référentiel (en amont) et de la branche (développez) à laquelle vous souhaitez envoyer la demande d'extraction en procédant comme suit:

    la branche git corrige en amont/développe

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

    git commit -m "votre message"

  3. Poussez cette branche sur votre propre télécommande fourchue (peut être nommée Origine).

  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 une fois la demande d'extraction fusionnée.
  6. Et vous pouvez commenter et fermer vos demandes d'extraction précédentes.
7
user_19

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 documentation du développeur de github

exemple: changer le nom de ma demande d'extraction

curl --user "jeremyclement" \
     --request PATCH \
     --data '{"title":"allows the control of files and folders permissions."}' \
     https://api.github.com/repos/Gregwar/Cache/pulls/9
1
hexaJer