一位同事和我已经在同一分支工作了一个星期,不停地推拉变化,今天突然,我点击“拉”,看看是否有任何变化我需要拉,我出了一个错误。
顺便说一句,这是原始的。错误是:
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
error: cannot lock ref 'refs/remotes/origin/angular_removal': unable to resolve reference 'refs/remotes/origin/angular_removal': reference broken
From https://bitbucket.org/colossus
! [new branch] angular_removal -> origin/angular_removal (unable to update local ref)我在源树,里面有一个终端,但我在这里似乎找不到解决方案。
发布于 2021-04-29 18:48:39
我能够通过删除.git/packed-refs文件中的所有项目来修复这个问题。
然后,我做了一个git拉入终端,从远程获取所有的引用/代码。
发布于 2018-09-17 08:03:50
错误文本对我来说略有不同,比如:unable to update local ref it is [hash_code_1] but expected [hash_code_2]。
因此,像rm -rf .git/refs/remotes/origin/angular_removal这样的命令只帮助我进行了一次提取。然后消息会再次回来。
在这种情况下,真正帮助永久解决这一问题的是:
发布于 2018-05-15 08:56:43
接受的解决方案只提供了OP如何绕过这个问题的详细信息,而这并不是一个明确的答案。
为了像我这样从谷歌来到这里的人,这里有一个解决方案,实际上是可行的。
如果错误消息如下所示,
error: cannot lock ref 'refs/remotes/origin/angular_removal': unable to resolve reference 'refs/remotes/origin/angular_removal': reference broken在这里,违规元素是一个名为refs/remotes/origin/angular_removal的损坏文件,它驻留在.git隐藏文件夹中。
为了解决这个问题,请在存储库根目录下运行以下命令。
rm .git/refs/remotes/origin/angular_removal
git fsck当git试图重新初始化丢失的引用时,第一个命令就应该修复这个问题。
命令git fsck在那里只为了检查存储库是否运行良好。
注意事项:对于其他文件,
ref文件会有所不同。因此,请确保您使用的是您收到的错误消息中的ref文件名。**
https://stackoverflow.com/questions/47226069
复制相似问题