322 votes

git pull erreur :erreur: à distance ref est à mais attendu

Message complet:

error: Ref refs/remotes/origin/user is at 3636498c2ea7735fdcedc9af5ab3c8689e6abe77 but expected a21359c6cc2097c85775cde6a40105f4bd7100ec
From github.com:{github project url}
 ! a21359c..6273ffc  user -> origin/user  (unable to update local ref)

292voto

krijesta Points 443

Si vous exécutez git en vertu d'un système de fichiers qui n'est pas sensible à la casse (Windows ou OS X) ce qui va se produire si il y a deux branches avec le même nom, mais différents de capitalisation, par exemple, user_model_changes et User_model_changes comme les deux branches distantes trouvera le même suivi réf.

Supprimer selon la branche distante est mal (vous ne devriez pas avoir des branches qui ne diffèrent que par la casse), puis git remote prune origin et tout devrait fonctionner

0voto

Tecnocat Points 408

Même cas ici, mais rien sur les commentaires postés c'est juste dans mon cas, j'ai une seule branche (master) et utiliser uniquement le système de fichiers Unix, cette erreur se produit au hasard, quand je lance git fetch --progress --prune de l'origine et de la direction générale est en avance ou 'origin/master'. Personne ne peut commettre, 1 seul utilisateur peut faire pousser.

NOTE: j'ai un sous-module de acme référentiel, et acme ont de nouveaux sous-module changements (nouveaux commits), je dois d'abord faire un sous-module de mise à jour avec git sous-module de mise à jour.

[2014-07-29 13:58:37] Payload POST received from Bitbucket
[2014-07-29 13:58:37] Exec: cd /var/www/html/acme
---------------------
[2014-07-29 13:58:37] Updating Git code for all branches
[2014-07-29 13:58:37] Exec: /usr/bin/git checkout --force master
[2014-07-29 13:58:37] Your branch is ahead of 'origin/master' by 1 commit.
[2014-07-29 13:58:37]   (use "git push" to publish your local commits)
[2014-07-29 13:58:37] Command returned some errors:
[2014-07-29 13:58:37] Already on 'master'
---------------------
[2014-07-29 13:58:37] Exec: /usr/bin/git fetch --progress --prune origin
[2014-07-29 13:58:39] Command returned some errors:
[2014-07-29 13:58:39] error: Ref refs/remotes/origin/master is at 8213a9906828322a3428f921381bd87f42ec7e2f but expected c8f9c00551dcd0b9386cd9123607843179981c91
[2014-07-29 13:58:39] From bitbucket.org:acme/acme
[2014-07-29 13:58:39]  ! c8f9c00..8213a99  master     -> origin/master  (unable to update local ref)
---------------------
[2014-07-29 13:58:39] Unable to fetch Git data

Pour résoudre ce problème (dans mon cas), il suffit d'exécuter la première git push si votre direction est en avance d'origine.

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