Git 拉错误 "unable to update local ref" 如何解决这个问题?

Git pull error "unable to update local ref" how to fix this?

这是错误信息:

 error: cannot lock ref 'refs/remotes/origin/master': unable to resolve reference 'refs/remotes/origin/master': reference broken
    From https://bitbucket.org/abc/abc
     ! [new branch]        master     -> origin/master  (unable to update local ref)

当我尝试 pull 然后它显示 "Complete with errors, see above",我忘记了我之前做了什么所以结果在我请求 pull 之后出现了这个错误。我该怎么办?

听起来你对 origin/master 分支的引用已损坏或损坏。

首先 - 复制一份本地存储库。

你可以做两件事(据我所知):

  1. 删除对 master 的引用,然后进行提取(以获取最新的): cd <path-to-your-repo> rm .git/refs/remotes/origin/master git fetch

  2. 尝试使用 git 维护功能:

    • git gc --prune=now
    • git remote prune origin(可能不需要这个删除陈旧的远程跟踪分支等)

注意: 在执行此操作之前进行备份的一个原因是 git gc 修剪会永久删除一些无法访问的提交 - 从理论上讲,如果你犯了错误,你可能需要。