web-dev-qa-db-fra.com

Erreur Git sur Git Pull (impossible de mettre à jour la référence locale)

Je n'ai que le maître de branche et j'obtiens cette erreur chaque fois que j'essaie de "tirer"

error: Couldn't set refs/remotes/Origin/master
From /var/lib/git/xxx/project
 ! a0f80ea..49177a3  master     -> Origin/master  (unable to update local ref)

et quand je fais "git pull Origin Origin" je reçois:

error: Couldn't set ORIG_HEAD
fatal: Cannot update the ref 'ORIG_HEAD'.

j'ai cherché mais je ne trouve pas pourquoi

49
user115561

Mon équipe et moi-même avons rencontré cette erreur incapable de mettre à jour la référence locale lors de l'extraction dans SourceTree.

Nous avons utilisé : 

git gc --Prune=now

Cela supprime tous les objets de référence en double qui devraient résoudre le problème.

Voici quelques liens pour en savoir plus sur les références git et la taille:

Astuce Git de la semaine

Documentation git-Prune

références git

122
Skip Jack

J'ai résolu comme ci-dessous:

git remote Prune Origin

36
Edward Yang

Assurez-vous que l'utilisateur qui exécute le git pull est le même utilisateur que celui qui a créé le référentiel. Les autorisations de fichier sont incorrectes.

7
tpg2114

J'ai découvert le même message d'erreur en essayant d'extraire un dépôt Bitbuck dans ma copie locale. Il y a aussi un seul maître de branche et la commande git pull Origin master mène à ce message d'erreur 

From https://bitbucket.org/xxx
 * branch            master     -> FETCH_HEAD
error: Couldn't set ORIG_HEAD
fatal: Cannot update the ref 'ORIG_HEAD'.

Solution comme suit

  1. git reflog trouve le numéro du dernier commit
  2. git reset --hard <numnber> réinitialiser le dernier commit 
  3. git pull Origin master tirer à nouveau sans erreur
6
outofBounds

Essayez d’utiliser cette commande dans le dossier racine de votre référentiel git:

rm .git/logs/refs/remotes/Origin/master 
3
Babak

Cela m'est arrivé sous OSX, où j'utilise un système de fichiers insensible à la casse. D'une manière ou d'une autre, un autre développeur a poussé une branche portant le même nom mais une casse différente: My-Branch vs my-branch.

J'ai déjà eu My-Branch extrait et j'ai eu l'erreur "impossible de mettre à jour la référence locale" quand j'ai tiré, probablement parce que le système de fichiers pense que My-Branch == my-branch.

Puisque nous utilisons Github, je pourrais résoudre le problème en supprimant l’une des branches via l’interface graphique de Github.

1
gabrielf

Clonez à nouveau le référentiel et copiez le dossier .git dans votre projet endommagé.

rm .git/refs/remotes/Origin/master

Cela fonctionne pour moi!

0
Xin Wang

J'ai eu le même problème sur mon serveur Debian car le disque est plein. Aucun fichier temporaire n'a pu être créé car il ne reste plus d'espace sur le périphérique. Après avoir nettoyé certains fichiers, cela a bien fonctionné.

0
fibonacci

Cette erreur avec (impossible de mettre à jour la référence locale) peut également se produire si vous avez récemment changé de mot de passe et que des éléments sophistiqués intègrent vos identifiants Windows et Linux.

0
Hazok

Parler d’un utilisateur PC - Redémarrez. 

Honnêtement, cela a fonctionné pour moi. J'ai résolu deux problèmes étranges que je pensais être des corruptions de cette façon.

0
GONeale

Il s’agit probablement d’une situation très délicate, mais: j’exécute Windows dans un Parallels VM sur mon MacBook Pro, avec mon dépôt local stocké sur le disque de la machine virtuelle, partagé avec macOS.

Si un fichier est ouvert dans une application Mac à partir d'un référentiel situé sur la machine virtuelle Windows, l'erreur "impossible de mettre à jour la référence locale" apparaît parfois. Lorsque cela se produit, la solution consiste simplement à fermer le fichier ou à quitter l'application Mac.

0
daGUY