我只有分支主和我得到这个错误,每次我尝试“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调用origin <branch_name_you_are_currently_at>将只调用该分支。 它可能会给您带来合并冲突,也可能不会。解决问题并承诺。 这对我很管用。

其他回答

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

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

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

谢谢。

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

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

然后我就可以取回了。

或者更激进一点

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

这个方法每次都有效。

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

使用gitbach line命令,使用git update-ref来更新本地分支的引用:

$ git update-ref -d refs/remotes/origin/[locked branch name]

然后使用$ git拉

[locked branch name]是由于提交id不匹配而发生错误的分支的名称。

如果你最近更改了密码,并且有一些奇特的东西集成了你的Windows和Linux登录,也会发生这个错误(无法更新本地ref)。