159 votes

Comment récupérer une branche sur le fork de quelqu'un d'autre sur GitHub ?

J'ai forké à partir d'un repo sur GitHub. Je veux obtenir le code d'une branche sur la fourche d'un autre utilisateur.

Dois-je cloner l'ensemble du dépôt de cet utilisateur vers un dépôt local séparé ou puis-je faire quelque chose comme git checkout link_to_the_other_users_branch ?

3 votes

Vous cherchez git "remotes" : progit.org/book/ch2-5.html

296voto

amalloy Points 29125
$ git remote add theirusername git@github.com:theirusername/reponame.git
$ git fetch theirusername
$ git checkout -b mynamefortheirbranch theirusername/theirbranch

Notez qu'il existe plusieurs URI "corrects" que vous pouvez utiliser pour la télécommande lorsque vous l'ajoutez dans la première étape.

  • git@github.com:theirusername/reponame.git est un URI basé sur SSH
  • https://github.com/theirusername/reponame.git est un URI HTTP

Le choix de l'une ou l'autre dépend de votre situation. GitHub propose un article d'aide expliquant la différence et vous aidant à choisir : Quelle URL distante dois-je utiliser ?

1 votes

Que fait cette dernière ligne ?

3 votes

La dernière ligne vérifie une nouvelle branche appelée mynamefortheirbranch avec son point de départ fixé à la tête de theirusername/theirbranch .

4 votes

Je reçois Fatal : ne peut pas mettre à jour les chemins et passer à la branche 'xyz' en même temps. Aviez-vous l'intention d'extraire 'xyz/xyz' qui ne peut pas être résolu comme un commit ?

32voto

Mateusz Piotrowski Points 3815

suggestion d'amalloy n'a pas fonctionné pour moi. Ceci a marché :

git remote add theirusername https://github.com/theirusername/reponame
git fetch theirusername
git checkout -b mynamefortheirbranch theirusername/theirbranch

Ressources :

0 votes

Je crois qu'il vous manque une .git à la fin de votre première ligne.

0 votes

@TomNorway Vous êtes sûr ? Cela ne fonctionne pas pour vous comme ça ?

0 votes

@TomNorway Je l'ai testé et il fonctionne sans l'option .git extension. Utilisez-vous GitHub ?

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