Git Fetch给出“无法锁定引用”错误消息,但无论如何似乎都能正常工作

giu*_*sti 3 git bitbucket

有时,当我尝试运行时git fetch,会收到以下响应:

错误:无法锁定ref'refs / remotes / origin / branchname ':位于XXXXXX,但应为YYYYYY

据我所知,导致这种情况的步骤如下:

  1. 我像往常一样git push从工作PC到Bitbucket托管的源。
  2. git fetch到家后,我的表现并不罕见。没有错误或警告;
  3. git push在家工作后,我表现不凡。没有错误或警告;
  4. git fetch今天到达工作地点时,我做了一个。

步骤4导致错误消息。我的本地存储库已检出有问题的分支。不过我还是跑了git pull,它似乎起作用了。

这不是我第一次看到此错误消息。第一次发生时,我获取了另一个团队的存储库,以更新我的本地副本,这个本地副本在一个月或两个月内都保持不变(没有获取,没有工作,没有推送)。当我推送更改时,我的同事遇到了错误。

因此,在这两种情况下,这似乎与本地存储库有些相关,后者暂时保持不变。但是得出两个结论的样本很小。

我想知道是什么原因造成的。而且,更重要的是,如果它确实无害,或者我有失去工作的风险。

Dav*_*man 5

按照@ bernard-paulus的评论,您可以尝试

git gc --prune=now
Run Code Online (Sandbox Code Playgroud)

对我有用

您也可以尝试

git for-each-ref 
Run Code Online (Sandbox Code Playgroud)

  • 您能解释一下问题是什么以及如何使用此命令解决它吗?我用谷歌搜索了一下,但没能理解 (2认同)