Comment créer et/ou envoyer une demande d'extraction à un autre référentiel hébergé sur GitHub?
Pour savoir comment faire une demande d'extraction, je viens de suivre deux pages d'aide distinctes sur Github (liées ci-dessous sous forme de points). Les commandes de ligne de commande suivantes s’appliquent à Part 1 . La partie 2 , la demande d'extraction réelle, est entièrement réalisée sur le site Web de Github.
$ git clone https://github.com/tim-peterson/dwolla-php.git
$ cd dwolla-php
$ git remote add upstream https://github.com/Dwolla/dwolla-php.git
$ git fetch upstream
// make your changes to this newly cloned, local repo
$ git add .
$ git commit -m '1st commit to dwolla'
$ git Push Origin master
Partie 1 : insérez le repo de quelqu'un: https://help.github.com/articles/fork-a-repo
git clone->cd dwolla-php->git remote->git fetch
ci-dessus pour cloner votre fork quelque part dans votre ordinateur (c.-à-d. "copier/coller" dans le cas suivant: third_party TimPeterson$
) et le synchroniser avec le dépôt principal (Dwolla/dwolla- php)git add->git commit->git Push
ci-dessus pour appliquer vos modifications au référentiel distant, c’est-à-dire votre fork sur Github (tim-peterson/dwolla-php)Partie 2 : faire une demande de tir: https://help.github.com/articles/using-pull-requests
(En plus de la page officielle " Aide de GitHub 'Utiliser la requête d'extraction' ",
voir aussi " Forking vs. Branching dans GitHub ", " Quelle est la différence entre Origin et amont dans GitHub ")
En supposant que vous ayez d’abord ne réplique fourchue, voici ce que vous devriez faire dans cette fourchette que vous possédez:
master
, où vous pourriez être tenté d'accumuler et de mélanger plusieurs modifications à la fois.Origin/master
_ (en vous assurant que votre correctif est fonctionne toujours) mettra à jour la demande d'extraction automatiquement (pas besoin de cliquer sur quoi que ce soit)git remote Prune Origin
). L’interface graphique GitHub vous proposera de supprimer votre branche dans votre page de demande de retrait.Remarque: pour écrire la demande d'extraction elle-même, voir " ) Comment écrire la demande d'extraction parfaite "(janvier 2015, GitHub)
Mars 2016: nouvelle option du bouton de fusion des relations publiques: voir " la commande Github squash est validée à partir de l'interface Web sur la demande d'extraction après avoir passé en revue les commentaires? ".
Le responsable du référentiel peut choisir de _merge --squash
_ ces commits PR.
En ce qui concerne le dernier point, depuis le 10 avril 2013, "bouton de fusion repensé", la branche est supprimée pour vous:
La suppression de branches après la fusion a également été simplifiée.
Au lieu de confirmer la suppression par une étape supplémentaire, nous supprimons immédiatement la branche lorsque vous la supprimez et fournissons un lien pratique pour restaurer la branche si vous en avez besoin à nouveau .
Cela confirme la meilleure pratique consistant à supprimer la branche après la fusion d'une demande d'extraction.
La demande d'extraction n'est pas un terme "git" officiel.
Git utilise la commande _request-pull
_ (!) pour créer une demande de fusion:
"Résume les modifications apportées entre deux commits à la sortie standard et inclut l'URL donnée dans le récapitulatif généré."
Github lance sa propre version depuis le premier jour (février 2008) , mais remodelée cette fonctionnalité en mai 201 , déclarant que:
_Pull Request = Compare View + Issues + Commit comments
_
_<humour>
_
Cela (demande de tirage) n'est même pas défini correctement par GitHub!
Heureusement, un véritable organisme de presse économique le saurait, et il existe un e-note pour remplacer pull-replace par 'e-note' :
Donc, si votre dépôt o tory a besoin d'un e-note ... demandez à Fox Business = . Ils sont au courant.
_</humour>
_
Pour faire une demande d'extraction, vous devez suivre les étapes suivantes:
Il m'a fallu un certain temps pour comprendre cela, espérons que cela aidera quelqu'un.
J'ai lancé un projet pour aider les gens à faire leur première demande de tirage GitHub. Vous pouvez faire le tutoriel pratique pour faites votre premier PR ici
Le flux de travail est simple comme
git clone <clone url you copied earlier>
git checkout -b branch-name
git commit
git Push Origin branch-name
Compare and pull request
Pour ceux d'entre nous qui ont un compte github.com, mais qui reçoivent un message d'erreur désagréable lorsque nous tapons "git" dans la ligne de commande, voici comment procéder dans votre navigateur :)
J'ai suivi les instructions de Tim Peterson mais j'ai créé une branche locale pour mes modifications. Cependant, après avoir poussé, je ne voyais pas la nouvelle branche dans GitHub. La solution consistait à ajouter -u à la commande Push:
git Push -u Origin <branch>
J'ai écrit un programme bash qui fait tout le travail de mise en place d'une branche de relations publiques pour vous. Il effectue un bricolage si nécessaire, une synchronisation en amont, une configuration en amont à distance, etc.
Voici comment vous l'exécutez:
github-make-pr-branch ssh your-github-username orig_repo_user orig_repo_name new-feature
Vous trouverez le programme ici et son référentiel comprend également un guide étape par étape pour exécuter manuellement le même processus si vous souhaitez comprendre son fonctionnement, ainsi que des informations supplémentaires sur la façon de le conserver. votre branche de fonctionnalité mise à jour avec le maître en amont et d’autres informations utiles.