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
)?
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.
Tu ne peux pas. Il suffit de faire une nouvelle demande de tirage.
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.
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.
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.
Au lieu de perdre tous les commentaires liés à un PR pour une branche supprimée:
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:
C'est un peu hacky, mais bien mieux que de détruire beaucoup de commentaires.
Github le supporte maintenant. Bouton Modifier à l'extrémité droite du PR.