假设我在裸存储库(远程)中,如果我尝试删除git branch -d <branch_name>
的分支,则会收到以下错误:
fatal: Couldn't look up commit object for HEAD
为什么呢?我有没有理由不能从裸存储库中删除分支?
答案 0 :(得分:11)
确保在命令中使用capitol D
,在这种情况下,您可以键入git branch -D <branch_name>
。请注意,这只会从本地计算机中删除分支
如果您要删除远程分支,请键入git push origin :<branch_name>
(请记住添加冒号)
答案 1 :(得分:2)
为避免这种混淆,您可以使用
“git push origin --delete branch_name”
这会删除远程分支而不是本地分支。
答案 2 :(得分:1)
在Windows资源管理器中找到文件.git / refs / heads / branch_name并直接将其删除。
答案 3 :(得分:0)
仅当默认分支(裸存储库文件夹中的分支HEAD指向 - 通常为master
)在本地不存在时才会发生这种情况。
如果确实存在 - 您甚至可以从裸存储库文件夹中删除带有branch -d
的分支(假设它已合并,则为-d)。
如果您正在使用git工作树 - 从工作树发出命令可能会成功(应该满足与工作树的HEAD相同的条件)