我只有分支主和我得到这个错误,每次我尝试“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'.

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


当前回答

我已经删除了分支的本地引用:

git branch -d -r REPO/.git/refs/remotes/origin/BRANCHNAME

然后我就可以取回了。

或者更激进一点

rm -rf REPO/.git/refs/remotes/origin

这个方法每次都有效。

其他回答

我有同样的错误,我从git桌面应用程序拉。所以我尝试从DOS命令窗口更新,并得到相同的问题。

然后我尝试了解决方案“git gc -prune=now” .

git gc——prune=now:这已经解决了我所面临的上述问题。

谢谢。

这对我来说非常合适:

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

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

我在我的debian服务器上也有同样的问题,因为磁盘已满。由于设备上没有剩余空间,无法创建临时文件。在清理了一些文件后,一切正常。

我发现同样的错误消息试图从一个比特币回购到我的lokal拷贝。也只有一个Branche Master, git pull origin Master命令会导致这个错误消息

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

解决方案如下

Git reflog找到最后一次提交的编号 Git重置——hard < number >重置到最后一次提交 Git拉原点主控再拉一次没有出错