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
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:
J'ai résolu comme ci-dessous:
git remote Prune Origin
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.
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
git reflog
trouve le numéro du dernier commitgit reset --hard <numnber>
réinitialiser le dernier commit git pull Origin master
tirer à nouveau sans erreurEssayez d’utiliser cette commande dans le dossier racine de votre référentiel git:
rm .git/logs/refs/remotes/Origin/master
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.
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!
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é.
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.
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.
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.