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.

10voto

Noam Manos Points 145

Si la branche distante a été supprimée (ou renommée), vous risquez d'obtenir une erreur de ce type lorsque vous essayez de récupérer cette branche vieille branche :

$ git fetch --prune --all

  Fetching origin
  fatal: couldn't find remote ref refs/heads/old-branch
  error: Could not fetch origin

Vérifiez votre configuration git locale si elle fait toujours référence à l'option vieille branche :

  $ git config --get-all remote.origin.fetch

    +refs/heads/*:refs/remotes/origin/*
    +refs/heads/old-branch:refs/remotes/origin/old-branch
    +refs/heads/master:refs/remotes/origin/master

La suppression des anciennes entrées de réfs peut résoudre le problème de récupération :

$ git config --unset-all remote.origin.fetch

$ git fetch --prune --all
  Fetching origin
  ...
   * branch            HEAD       -> FETCH_HEAD

9voto

Nilesh leve Points 91

Pour moi, c'était parce que j'essayais de tirer une branche qui avait déjà été supprimée de Github.

4voto

Dans mon cas, cette erreur s'est produite en raison des changements de nom effectués par Github pour la branche par défaut de master à main

Donc, au lieu d'utiliser,

git pull origin master

Vous pouvez utiliser,

git pull origin main

3voto

Matt Gibson Points 5774

Vous devez configurer votre branche locale pour qu'elle suive la branche distante, ce qu'elle ne fera pas automatiquement si elles ont des capitalisations différentes.

Essayez :

git branch --set-upstream downloadmanager origin/DownloadManager
git pull

UPDATE :

L'option '--set-upstream' n'est plus supportée.

git branch --set-upstream-to downloadmanager origin/DownloadManager
git pull

3voto

joshua pogi 28 Points 463

Vérifiez votre branche sur votre repo. Peut-être que quelqu'un l'a supprimée.

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