96 votes

Comment soumettre une pull request à partir d'un repo cloné ?

Comment soumettre une pull request à partir d'un repo existant cloné localement ?

Souvent, je veux consulter le code source d'une bibliothèque sur github, alors je la clone. Plus tard, je découvre un problème avec le code et je le soulève sur une liste de diffusion, souvent en passant. L'auteur de la bibliothèque me répond "belle découverte, pouvez-vous envoyer une demande de modification ?

Et la réponse est "pas si facilement". Je n'ai pas encore forké le repo, je l'ai cloné. Et il ne semble pas y avoir de moyen de soumettre une demande de pull à partir d'un repo cloné ?

Si cette limite est vraie, il semble que la réaction raisonnable soit de forker tout ce que vous regardez, juste pour que vous puissiez contribuer si jamais vous le souhaitez. Et cela remplit votre compte github avec de nombreuses forks inactives.

Il ne semble pas que l'on parle beaucoup de ce problème - suis-je la seule personne que ce problème affecte ?

67voto

bobthecow Points 2232

Fork le repo sur GitHub, puis ajoutez votre repo fork comme un remote à votre copie locale clonée :

git remote add myfork https://github.com/<myGitHubAccountName>/<repoName>.git

Ensuite, vous pouvez pousser jusqu'à votre fourchette :

git push myfork master

Si vous faites plus que cette seule demande de retrait, vous pouvez supprimer l'option origin remote et nommez votre fork comme origine :

git remote rm origin
git remote add origin https://github.com/<myGitHubAccountName>/<repoName>.git

C'est typiquement ce que je fais. Parfois, j'ajoute l'origine originale comme upstream donc j'ai toujours une référence à ça.

10voto

rdrey Points 3328

Si vous êtes d'accord pour installer un autre binaire dans votre chemin, github a publié un petit outil sympa appelé hub .

Si vous avez cloné le dépôt de quelqu'un d'autre :

$ hub fork  # This creates a fork and adds your repo as a remote

$ git push YOUR_USER feature  # push the changes to your new remote

$ hub pull-request  # will open your browser

0voto

ohmyan Points 80

Je clone toujours au lieu de fork également et les étapes suivantes fonctionnent pour moi :

  1. Créez une nouvelle branche sur votre repo cloné et effectuez la nouvelle modification.

  2. Poussez le changement vers votre branche comme suit :

    git push origin insert_your_working_branch_name

  3. Maintenant, vous devriez être en mesure de trouver votre branche de travail dans la demande de pull de github master.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X