web-dev-qa-db-fra.com

Comment changer la branche de base d'une demande d'extraction?

J'ai créé une demande d'extraction sur un projet sur GitHub vers une branche distante spécifique. Après un certain temps, la branche distante a été supprimée.

Comment puis-je modifier la demande d'extraction pour pointer vers une autre branche (en particulier master)?

Mise à jour: comme Michael le note ci-dessous, cela est maintenant possible :

Vous pouvez maintenant changer la branche de base d'une demande d'extraction ouverte. Une fois que vous avez créé une demande d'extraction, vous pouvez modifier la branche de base afin que les modifications apportées à la demande d'extraction soient comparées à une autre branche. En modifiant la branche de base de votre demande d'extraction d'origine plutôt que d'en ouvrir une nouvelle avec la branche de base appropriée, vous pourrez conserver un travail et des discussions utiles.

Clique le Edit bouton par le titre de la demande d'extraction pour révéler le sélecteur de branche de base.

An animated example of how to change a pull request's base branch.


Ancienne réponse

Tu ne peux pas. Il suffit de faire une nouvelle demande de tirage.

75
Amber

Bien que non documenté, vous pouvez le faire en utilisant l'API GitHub REST.

L'utilisation de l'API est expliquée dans cette réponse , mais vous pouvez en principe lancer une demande REST comme celle-ci:

$ curl --user "tom" \
       --request PATCH \
       --data '{"issue": "15", "head": "tom:new-branch", "base": "master"}' \
       https://api.github.com/repos/fred/fabproj/pulls

Cela modifiera la demande d'extraction incarnée par le numéro 15 sur le référentiel fred/fabproj pour utiliser la branche new-branch sur la fourche tom/fabproj.

Edit: Note: selon les commentaires, ce qui précède ne concerne que attacher une nouvelle requête pull à un problème existant.

36
Tom

Depuis le 15/08/2016, cela est maintenant possible en natif via Github :

Vous pouvez maintenant changer la branche de base d'une demande d'extraction ouverte. Une fois que vous avez créé une demande d'extraction, vous pouvez modifier la branche de base afin que les modifications apportées à la demande d'extraction soient comparées à une autre branche. En modifiant la branche de base de votre demande d'extraction d'origine plutôt que d'en ouvrir une nouvelle avec la branche de base appropriée, vous pourrez conserver un travail et des discussions utiles.

18
Michael Clifford

Je pourrais changer la branche cible . Il est vrai que nous ne pouvons pas modifier le nom de la branche cible dans le PR. Mais l'astuce consiste à renommer la branche en quelque chose d'autre et à renommer votre branche cible en celle de présent dans PR.

Exemple: Mon RP porte un nom du type "dev-4.9". Il existe une autre branche nommée "qa-4.9". Tout ce que je veux, c'est que "qa-4.9" soit la branche cible de la RP . Étapes: 1 1) Renommez la branche "dev-4.9" en autre chose "original-dev-4.9"

git checkout dev-4.9
git branch -w original-dev-4.9
git Push Origin original-dev-4.9

2) Renommez la branche "qa-4.9" en "dev-4.9". 

git checkout qa-4.9
git branch -w dev-4.9
git Push Origin dev-4.9 -f (force Push to write entire branch to reflect dev-4.9)

3) Réactualisez l'URL du PR et voyez les commits dans le qa-4.9 reflétés là-bas. 

2
Sateesh

Au lieu de perdre tous les commentaires liés à un PR pour une branche supprimée: 

  1. créez à nouveau la branche localement avec le même nom et le même contenu que la branche que vous souhaitez fusionner;
  2. Appuyez sur cette branche pour recréer la branche distante; et alors
  3. rouvrez le PR à la succursale. 

Par exemple, vous avez un PR pour branch1, qui est supprimé. Vous souhaitez maintenant fusionner pour maîtriser et conserver les commentaires sur votre PR existant:

  1. maître de caisse
  2. git pull
  3. git checkout -b branche1
  4. git Push
  5. rouvrez votre PR à branch1
  6. une fois fusionné avec branche1, fusionnez pour maîtriser.

C'est un peu hacky, mais bien mieux que de détruire beaucoup de commentaires.

1
William Zeller

Github le supporte maintenant. Bouton Modifier à l'extrémité droite du PR. 

0
julian joseph