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

标签 git branch

最近我做的每个 git pull 都会给我一条错误信息,比如:

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'

最佳答案

那些错误消息听起来让我很担心。您的存储库可能已损坏。 Git 不应该垃圾收集分支指向的提交。您可能想按照 torek 的建议尝试 git fsck 来验证您的存储库。

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

rm .git/refs/heads/TestBranch123

您还应该从您的 git 配置文件中清除对该分支的所有引用。

关于git - 当无法在 'refs/heads' 中查找提交对象时,如何删除本地 git 分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694882/

相关文章:

git - 为 flask 应用程序创建 gitignore

git - 如何使用 PHPStorm 将标签推送到远程 git 存储库?

gitlab 服务器上的 git 存储库位置缺少数据

git - 在有和没有子模块的 git 分支之间切换的可靠命令集

svn - 颠覆标签和分支

git - 如何从现有项目创建 git 分支

git - 如何复制分支

git - 如何强制 Git 不提示输入凭据

git 删除旧分支与 --no-ff merge

mercurial - 我应该如何在 Mercurial 中实现版本控制?