2013-12-20 19 views
3

最近每混帐拉我做给我一个错误信息,如:如何在'refs/heads'中查找提交对象时删除本地git分支?

error: refs/heads/TestBranch123 does not point to a valid object!

这些都是老枝,我不在乎,我只是想删除他们,所以我没有看到错误了。当我尝试删除分支时,我无法处理类似的错误。

git branch -D TestBranch123

error: Couldn't look up commit object for 'refs/heads/TestBranch123'

回答

5

这些错误信息让我担心。您的存储库可能已损坏。 Git不应该垃圾收集分支指向的提交。正如torek所建议的,您可能想尝试git fsck来验证您的存储库。

但是,你可以从你的git仓库中删除表示该分支的文件:

rm .git/refs/heads/TestBranch123 

你也应该从你的git的配置文件清理到分支的任何引用。

+1

我建议运行'git fsck'(也可以使用'--strict',尽管这不重要)。另外,如果“坏”分支ref已经打包,你可能需要编辑'.git/packed-refs'。 – torek