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