我今天在尝试运行Git垃圾收集时偶然发现了这个:
$ git gc
fatal: bad object refs/remotes/origin/HEAD
error: failed to run repack
我该怎么处理呢?
我今天在尝试运行Git垃圾收集时偶然发现了这个:
$ git gc
fatal: bad object refs/remotes/origin/HEAD
error: failed to run repack
我该怎么处理呢?
当前回答
谢天谢地,我找到了这个 https://makandracards.com/chris-4/54101-fixing-a-git-repo
fatal: bad object refs/remotes/origin/HEAD
error: failed to run repack
如果上游分支已经被移除,而您的原点指向它,则可能会发生这种情况。你可以通过运行:
猫参. / /遥控器/产地/头
如果它指向一个不存在的分支,运行:
Git远程set-head origin——auto
紧随其后的是
git gc
会解决的
其他回答
参rm . / /遥控器/产地/头
git gc
谢天谢地,我找到了这个 https://makandracards.com/chris-4/54101-fixing-a-git-repo
fatal: bad object refs/remotes/origin/HEAD
error: failed to run repack
如果上游分支已经被移除,而您的原点指向它,则可能会发生这种情况。你可以通过运行:
猫参. / /遥控器/产地/头
如果它指向一个不存在的分支,运行:
Git远程set-head origin——auto
紧随其后的是
git gc
会解决的
对我来说,这个问题的原因是在Windows的压缩文件夹中工作。当文件夹未压缩时,它破坏了包文件,引发了其他奇怪的问题,例如无法修剪不存在的分支。
唯一的修复方法是清除工作目录并再次克隆回购远程。幸运的是,我仍然可以推拉更新,以确保没有任何损失。现在一切都好了。
我不理解这种情况的后果,但正如本文所述,当我遇到这种情况时,我就这么做了
$ mv .git/refs/remotes/origin/HEAD /tmp
(留着以防万一)然后
$ git gc
毫无怨言地工作;我还没有遇到任何问题。
我遇到的问题(这与@Stavarengo在上面的评论中提到的问题相同)是默认的远程分支(在我的情况下是开发)已经被删除,但仍然在.git/refs/remotes/origin/HEAD中引用。
在编辑器中打开。git/refs/remotes/origin/HEAD,如下所示:
ref: refs/remotes/origin/develop
我仔细地编辑它以指向我的新默认分支,一切都很好:
ref: refs/remotes/origin/master
提示我的线索是运行git prune会出现以下错误:
> git prune
warning: symbolic ref is dangling: refs/remotes/origin/HEAD