Comment pour créer et/ou envoyer une demande de tirer à un autre référentiel hébergé sur GitHub ?
Réponses
Trop de publicités?Quelques conseils sur les pull-requests:
-
créer une branche: isoler vos modifications dans une branche. Ne pas créer une demande d'extraction de
master
, où vous pourriez être tenté de s'accumuler et de les mélanger plusieurs modifications à la fois. -
rebase cette branche: même si vous avez déjà fait une demande d'extraction à partir de cette branche, la relocalisation sur le dessus de l'
origin/master
(assurez-vous que votre patch est encore à travailler) mise à jour de la demande d'extraction automatiquement (pas besoin de cliquer sur quoi que ce soit) - mise à jour de la branche: si votre pull demande est rejetée, vous ne pouvez tout simplement ajouter de nouveaux commits, et/ou de refaire votre histoire complètement: il activiate votre pull request à nouveau.
- "focus" sur cette branche: c'est à dire, faire sa rubrique "serré", de ne pas modifier les milliers de classe et de l'app, ajouter ou corriger un bien définis en fonction, en gardant les changements petite.
-
supprimer cette branche: une fois admis, vous pouvez supprimer en toute sécurité de cette branche sur votre fourche (et
git remote prune origin
). Le GitHub GUI proposera de supprimer votre succursale dans votre pull-page de demande.
Après une Pull Request
Concernant le dernier point, depuis le 10 avril 2013, "Repensé bouton fusionner", la branche est supprimée pour vous:
Supprimer des branches après la fusion a également été simplifiée.
Au lieu de confirmer la suppression de l', avec une étape supplémentaire, nous retirer immédiatement lorsque la direction générale de la supprimer et de fournir un lien pratique pour restaurer la direction générale dans le cas où vous en avez à nouveau besoin.
Ce qui confirme les meilleures pratiques de la suppression de la branche après la fusion d'une pull request.
pull-request vs demande-pull
-
pull request n'est pas un fonctionnaire "git" terme.
Git utilise l'request-pull
(!) commande de construire une demande de fusion:
Il "résume les changements entre les deux s'engage vers la sortie standard, et inclut l'URL donnée dans l'généré le résumé".
Github lance sa propre version depuis le premier jour (février 2008), mais repensé cette fonction en Mai 2010, en déclarant que:Pull Request = Compare View + Issues + Commit comments
e-notes pour "reposotory" (sic)
<humour>
Que (pull request) n'est même pas défini correctement par GitHub!
Heureusement, un véritable organe de presse le sait, et il y a un e-note afin de remplacer tirez-le remplacer par " e-note:
Donc, si votre repos*o*tory a besoin d'un e-billet... demandez à Fox Business. Ils sont dans le savoir.
</humour>
Pour apprendre à faire une pull request j'ai simplement suivi deux pages d'aide sur Github (lien ci-dessous comme des points de balle). La ligne de commande suivante commandes sont pour la Partie 1. La partie 2, la demande d'extraction, se fait entièrement sur Github du site web.
Tims-MacBook-Pro:third_party TimPeterson$ git clone https://github.com/tim-peterson/dwolla-php.git
Tims-MacBook-Pro:third_party TimPeterson$ cd dwolla-php
Tims-MacBook-Pro:dwolla-php TimPeterson$ git remote add upstream https://github.com/Dwolla/dwolla-php.git
Tims-MacBook-Pro:dwolla-php TimPeterson$ git fetch upstream
// makes changes to this newly cloned, local repo
Tims-MacBook-Pro:dwolla-php TimPeterson$ git add .
Tims-MacBook-Pro:dwolla-php TimPeterson$ git commit -m '1st commit to dwolla'
Tims-MacBook-Pro:dwolla-php TimPeterson$ git push origin master
-
Partie 1: fourche quelqu'un repo: https://help.github.com/articles/fork-a-repo
- cliquez sur le bouton "fork" sur le repo vous souhaitez contribuer à l', dans ce cas: Dwolla PHP du repo (Dwolla/dwolla-php)
- obtenir l'URL de votre nouvellement créé de la fourche, dans ce cas: https://github.com/tim-peterson/dwolla-php.git (tim-peterson/dwolla-php)
- type de l'
git clone->cd dwolla-php->git remote->git fetch
de la séquence ci-dessus pour cloner votre fourche quelque part dans votre ordinateur (par exemple, "copier/coller", dans ce cas:third_party TimPeterson$
) et le synchroniser avec le maître repo (Dwolla/dwolla-php) - apporte des modifications à votre local repo
- type de l'
git add->git commit->git push
de la séquence ci-dessus pour pousser vos modifications sur le repo distant, c'est à dire, votre fork sur Github (tim-peterson/dwolla-php)
-
Partie 2: faire des pull-request: https://help.github.com/articles/using-pull-requests
- aller à votre fourchette de page web sur Github (https://github.com/tim-peterson/dwolla-php)
- cliquez sur "pull request" bouton
- donner pull-demande un nom, complétez les détails de ce que les modifications apportées, cliquez sur le bouton soumettre.
- vous avez terminé!!
Afin de faire une pull request, vous devez faire les étapes suivantes:
- La fourche d'un référentiel (à laquelle vous souhaitez faire une demande d'extraction). Cliquez simplement sur la fourche bouton de la page de référentiel et vous disposerez d'une github précédé avec votre github nom d'utilisateur.
- Cloner le dépôt de votre machine locale. Le Github logiciel que vous avez installé sur votre machine locale peut faire pour vous. Cliquez sur le bouton clone à côté du nom du référentiel.
- Faire des modifications locales/s'engage à les fichiers
- synchroniser les modifications
- accédez à votre github fourche référentiel, puis cliquez sur "Comparer Et d'Examen" bouton vert en plus de la direction de la touche. (Le bouton de l'icône - sans texte)
- Une nouvelle page s'ouvrira, affichant vos modifications puis cliquez sur le pull de demande de lien, qui va envoyer la demande à la propriétaire d'origine du référentiel de vous fourchue.
Il m'a fallu un certain temps pour comprendre cela, espérons que cela aidera quelqu'un.