当它无法在'refs/heads'中查找提交对象时,如何删除本地git分支?

hei*_*23p 6 git branch

最近我做的每一个git拉给我一个错误信息,如:

错误:refs/heads/TestBranch123没有指向有效对象!

这些是旧的分支,我不在乎,所以我只想删除它们,所以我不再看到错误了.当我尝试删除分支时,我不能发生类似的错误.

git branch -D TestBranch123

错误:无法查找'refs/heads/TestBranch123'的提交对象

Kla*_*urn 10

这些错误消息让我感到担忧.您的存储库可能已损坏.Git不应该垃圾收集分支指向的提交.git fsck正如torek建议的那样,您可能想尝试验证您的存储库.

但是,您可以从git存储库中删除表示分支的文件:

rm .git/refs/heads/TestBranch123
Run Code Online (Sandbox Code Playgroud)

您还应该从git配置文件中清除对分支的任何引用.

  • 我建议运行`git fsck`(也许也带有`--strict`,尽管那没那么重要)。同样,如果“坏”分支引用已经打包,则可能需要编辑.git / packed-refs。 (2认同)