Git拉错误"无法更新本地参考"如何解决这个问题?

My *_*ame 6 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)
Run Code Online (Sandbox Code Playgroud)

当我试图拉,然后它显示"完成有错误,见上文",我忘了我之前做了什么,所以它导致这个错误出现后我拉请求.我该怎么办 ?

cod*_*der 12

这听起来像你对原点/主分支的引用被破坏或损坏.

首先 - 拿一份当地的回购.

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

  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 (可能不需要这个删除陈旧的远程跟踪分支等)

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