web-dev-qa-db-fra.com

Comment puis-je pousser vers une demande d'extraction sur github?

Je l'ai ajouté à mon .git/config fichier:

fetch = +refs/pull/*/head:refs/remotes/Origin/pr/*

Ce qui me permet de dérouler les différences de demande de tirage, mais quand je le vérifie, cela crée en fait une branche avec ce même nom. Existe-t-il un moyen pour moi de pousser pour pr/2 et la faire passer à la demande de tirage au lieu d'aller dans une nouvelle branche nommée pr/2?

33
lobati

Une demande d'extraction est simplement une demande de fusion d'une certaine branche. Cela signifie que les validations faites à la succursale après l'ouverture de la demande d'extraction seront incluses dans la fusion éventuelle.

Si vous avez accès à la branche que la demande d'extraction demande de fusionner, vous pouvez vous engager dans cette branche et la demande d'extraction sera mise à jour avec les modifications.

Exemple:

pull/3 demande de fusionner hotfix dans master

git fetch
git checkout hotfix
git pull Origin hotfix

apporter des modifications

git add .
git commit -m "changes!"
git Push Origin hotfix

Maintenant, votre commit apparaîtra dans la demande de tirage.

27
Ross

Voici les instructions de "fusion via la ligne de commande" de GitHub pour les demandes de tirage (je suis complètement décent, l'autre gars est ospr):

Étape 1: à partir de votre référentiel de projet, découvrez une nouvelle branche et testez les modifications.

git checkout -b ospr-image-rendering master
git pull https://github.com/ospr/FDWaveformView.git image-rendering

Étape 2: fusionnez les modifications et mettez à jour sur GitHub.

git checkout master
git merge --no-ff ospr-image-rendering
git Push Origin master

Voici l'étape supplémentaire qui renvoie vos modifications en amont (?) À l'expéditeur PR.

git Push https://github.com/ospr/FDWaveformView.git ospr-image-rendering:image-rendering
18
William Entriken

Bonne question. Mais je serais surpris si vous pouviez:

$ cat .git/refs/pull/upstream/839 
f8a9f492098e154b4a8258a941af47c9ca017ada

Même si vous pouvez en quelque sorte changer cette référence en ce que vous aimez, github a d'autres métadonnées que vous ne pouvez pas facilement changer. Il est donc préférable de créer un push vers la branche.

$ git Push [email protected]:owner/repo.git HEAD:target-branch

Voir l'encapsuleur de ligne de commande github pour une interaction github plus facile à partir de la ligne de commande: https://hub.github.com/

Mise à jour: vous pouvez pousser vers une demande d'extraction existante si vous poussez vers la fourche/branche sur laquelle PR est basé. Cela est souvent possible en fonction des paramètres du dépôt.

git Push [email protected]:username/repo-name.git localbranchname:remotebranchname

ou si vous avez ajouté le fork en tant que remote dans votre référentiel local, alors:

git Push remotename localbranchname:remotebranchname
3
akostadinov

Le client GitHub Desktop créera une autre demande d'extraction (PR) qui inclut le PR d'origine et vos modifications si vous essayez de fusionner les modifications avec un PR que vous avez extrait.

J'ai fait cela à partir de ma branche principale, mais vous pouvez probablement créer une autre branche, puis créer une demande d'extraction vers la demande d'extraction. Tout cela est magique pour moi, cependant, avec ces interfaces graphiques Git fantaisistes.

1
carlin.scott