可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I only have branch master and im getting this error every time i try to "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)
and when i do "git pull origin master" i get:
error: Couldn't set ORIG_HEAD fatal: Cannot update the ref 'ORIG_HEAD'.
i have been searching but cant find why
回答1:
My team and I ran into this error, unable to update local ref, when doing a pull in SourceTree.
We used :
git gc --prune=now
This removes any duplicate reference objects which should fix the issue.
Here are a few links where you can learn more about git references and pruning :
git tip of the week
git-prune documentation
git references
回答2:
I solved as below:
git remote prune origin
回答3:
Ensure the user that is executing the git pull
is the same user that created the repository. The file permissions are incorrect.
回答4:
I discoverd the same Error message trying to pull from a Bitbuck Repo into my lokal copy. There is also only one Branche Master and the command git pull origin master
lead to this Error Message
From https://bitbucket.org/xxx * branch master -> FETCH_HEAD error: Couldn't set ORIG_HEAD fatal: Cannot update the ref 'ORIG_HEAD'.
Solution as follows
git reflog
find the number of the last commit git reset --hard
reset to the last commit git pull origin master
pull again without error
回答5:
Clone the repository again, and copy the .git folder in your broken project.
回答6:
This error with (unable to update local ref) can also happen if you have changed passwords recently and there's some fancy stuff integrating your Windows and Linux logins.
回答7:
This happened to me on OSX where I use a case insensitive file system. Somehow another developer pushed a branch with the same name but different case: My-Branch
vs my-branch
.
I already had My-Branch
checked out and got the error "unable to update local ref" when I did a pull probably because the file system thinks My-Branch
== my-branch
.
Since we use Github I could solve the problem by deleting one of the branches via Github's GUI.
回答8:
Speaking from a PC user - Reboot.
Honestly, it worked for me. I've solved two strange git issues I thought were corruptions this way.
回答9:
I had the same issue on my debian server as the disk is full. No temp file could be created as no space left on device. After cleaning some files, it worked out fine.