Git d'erreur sur la commande git pull (impossible de mettre à jour locale ref)
Je n'ai que la branche master et im obtenir ce message d'erreur à chaque fois que j'essaie de "git pull":
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 master", j'obtiens:
error: Couldn't set ORIG_HEAD
fatal: Cannot update the ref 'ORIG_HEAD'.
j'ai cherché mais je ne trouve pas pourquoi
- Où est le dépôt local? Avez-vous créer un autre utilisateur que celui que vous utilisez pour exécuter le pull? Cela ressemble à un problème d'autorisation de fichiers.
- Ouais vous avez raison, après avoir dit que le propriétaire des fichiers du projet était d'un autre utilisateur, maintenant, ma question semble fou, mais vous m'avez donné la réponse, s'il vous plaît faire une réponse à le choisir comme le meilleur 😉
- merci @tpg2114 ajouter cela comme une réponse à choisi
Vous devez vous connecter pour publier un commentaire.
Mon équipe et je suis tombé sur cette erreur, impossible de mettre à jour locale ref, quand vous faites une traction dans SourceTree.
Nous avons utilisé :
Cela supprime tous les doublons de faire référence à des objets qui devrait corriger le problème.
Voici quelques liens où vous pouvez en apprendre plus sur git références et d'élagage :
git astuce de la semaine
git-prune documentation
git références
J'ai résolu comme ci-dessous:
git remote prune origin
git gc --prune=now
n'a rienJ'ai découvert le même message d'Erreur en essayant de tirer à partir d'un Bitbuck Repo dans mon lokal copie. Il est également qu'une Branche Master et la commande
git pull origin master
conduire à ce que le Message d'ErreurSolution comme suit
git reflog
trouver le numéro de la dernière validationgit reset --hard <numnber>
reset pour le dernier commitgit pull origin master
tirez à nouveau sans erreurEn sorte que l'utilisateur qui exécute la
git pull
est le même utilisateur qui a créé le référentiel. Les autorisations de fichier incorrectes.Essayez d'utiliser cette commande dans votre dépôt git dossier racine:
rm .git/refs/remotes/origin/master
Il fonctionne pour moi!
Cloner le dépôt de nouveau, et copiez le .git dossier dans votre cassé projet.
Ce qui m'est arrivé sur OSX où j'utilise une casse du système de fichiers. En quelque sorte, un autre développeur a poussé une branche avec le même nom, mais différents cas:
My-Branch
vsmy-branch
.J'ai déjà eu
My-Branch
vérifié et j'ai obtenu le message d'erreur "impossible de mettre à jour locale ref" quand j'ai fait un pull probablement parce que le système de fichiers penseMy-Branch
==my-branch
.Puisque nous utiliser Github j'ai pu résoudre le problème en supprimant l'une des branches via Github du GUI.
Cette erreur (impossible de mettre à jour locale ref) peut également se produire si vous avez changé les mots de passe récemment et il y a un peu de fantaisie intégration de votre Windows et Linux connexions.
De parler d'un utilisateur de PC - Redémarrage.
Honnêtement, il a travaillé pour moi. J'ai résolu deux étranges git questions que je croyais corruptions de cette façon.
J'ai eu le même problème sur mon serveur debian que le disque est plein. Aucun fichier temporaire pourrait être créé comme aucun espace disponible sur le périphérique. Après le nettoyage de certains fichiers, il a travaillé très bien.