110 votes

git pull remote branch ne peut pas trouver remote ref

Je ne sais pas pourquoi ça ne marche pas. Lorsque je fais git branch -a c'est ce que je vois :

enter image description here

J'essaie d'utiliser le DownloadManager du dépôt GitHub en ligne. J'ai essayé

  • git pull, mais ensuite il se plaint de ne pas savoir de quelle branche tirer
  • git pull origin, ne sait pas quelle branche
  • git pull origin downloadmanager fatal: Couldn't find remote ref downloadmanager. Unexpected end of commands stream
  • git pull origin remotes/origin/DownloadManager 'fatal couldn't find remote ref remotes/origin/DownloadManager. Unexpected end of commands stream

Il y a quelque chose que j'ai manqué ? Dans Xcode, lorsque j'essaie de me connecter au dépôt, rien ne s'affiche. J'ai été capable de pousser vers lui dans le passé. Mais je ne peux pas pousser à nouveau jusqu'à ce que je tire les changements les plus récents.

102voto

radistao Points 1070

Attention - vous avez le cas de mélanger entre la branche locale et la branche distante !

Supposons que vous êtes dans la branche locale downloadmanager maintenant ( git checkout downloadmanager )

Vous avez les options suivantes :

  1. Spécifier la branche distante dans tirer/pousser à chaque fois (sensible à la casse) :

    git pull origin DownloadManager

    ou

    git pull origin downloadmanager:DownloadManager


  1. Spécifier la branche de suivi lors du prochain push :

    git push -u origin DownloadManager

    ( -u est une forme abrégée de --set-upstream )

    cela persistera downloadmanager:DownloadManager dans la configuration automatiquement (même résultat que l'étape suivante).


  1. Définir dans la configuration git la branche de suivi à distance par défaut :

    git branch -u downloadmanager origin/DownloadManager

    (note, depuis git 1.8 pour branche commande -u est une forme abrégée de --set-upstream-to ce qui est un peu différent de la version obsolète. --set-upstream )

    ou éditer la configuration manuellement (je préfère cette méthode) :

    git config --local -e

    -> Ceci ouvrira l'éditeur. Ajoutez le bloc ci-dessous (devinez, après le bloc "master") :

    [branch "downloadmanager"]
            remote = origin
            merge = refs/heads/DownloadManager

et après n'importe laquelle de ces étapes vous pouvez utiliser facilement :

git pull

Si vous utilisez TortoiseGit : Clic droit sur le repo -> TortoiseGit -> Paramètres -> Git -> Modifier le .git/config local

20voto

UWU_SANDUN Points 567

Cette erreur se produit parce que le référentiel local ne peut pas identifier la branche distante à la première fois. Vous devez donc le faire d'abord. Cela peut être fait en utilisant les commandes suivantes :

git remote add origin 'url_of_your_github_project'

git push -u origin master

11voto

Chris Halcrow Points 907

Le nom de la branche dans Git est sensible à la casse. Pour voir les noms de vos branches que Git "voit" (y compris la casse correcte), utilisez :

git branch -vv

... et maintenant que vous pouvez voir le nom correct de la branche à utiliser, faites ceci :

git pull origin BranchName 

où "BranchName" est le nom de votre branche. Assurez-vous que vous faites correspondre la casse correctement

Donc, dans le cas de l'OP (Original Poster's), la commande serait :

git pull origin DownloadManager

11voto

rubo77 Points 1502

Si aucune de ces réponses ne fonctionne, je commencerais par regarder dans votre .git/config pour les références à la branche qui pose problème, et les supprimer.

11voto

Saurabh Mahra Points 171

J'ai rencontré le même problème car GitHub a changé le nom de la branche par défaut de master à main donc git pull origin master n'a pas fonctionné pour moi.

essayez ceci
git pull origin main Si le problème est dû à un conflit de noms de branches, cela vous sauvera.

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