我只有分支主和我得到这个错误,每次我尝试“git拉”:

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

当我执行“git pull origin master”时,我得到:

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

我一直在寻找,却找不到原因


当前回答

这可能是一个非常小众的情况,但是:我在我的MacBook Pro上的Parallels VM中运行Windows,我的本地回购存储在虚拟机的磁盘上,与macOS共享。

如果我在Mac应用程序中打开了一个位于Windows VM上的repo文件,我有时会得到“无法更新本地ref”错误。当这种情况发生时,解决方案是关闭文件或退出Mac应用程序。

其他回答

一个命令解决方案[Linux/bash用户]

通过更改文件的所有权来更改权限。

sudo chown用户名-R .git

(将“username”替换为您的用户名)

如果文件的所有者是sudo,则使用sudo。

删除文件也可以解决这个问题。

Sudo rm .git/logs/refs/remotes/origin/master

这对我很有用

rm .git/logs/refs/remotes/origin/master 

再次克隆存储库,并将.git文件夹复制到破碎的项目中。

删除文件。git/logs/refs/remotes/origin/[锁定分支名称]

这对我来说非常合适:

rm -rf .git/packed-refs .git/rr-cache