Git pull error"无法更新本地参考"怎么解决这个问题?

时间:2017-08-30 10:00:33

标签: git atlassian-sourcetree

这是错误消息:

 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)

当我尝试拉,然后显示"完成错误,见上面",我忘记了我之前做了什么,所以结果这个错误在我拉请求后出现了。我该怎么办?

1 个答案:

答案 0 :(得分:10)

听起来你对原点/主分支的引用已经破坏或损坏。

首先 - 索取当地仓库的副本。

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

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

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

    • git gc --prune=now
    • git remote prune origin(可能不需要这样可以删除陈旧的远程跟踪分支等)
  3. 注意:在执行此操作之前进行备份的一个原因是git gc pruning会永久删除一些无法访问的提交 - 从理论上讲,这可能需要您犯错误。