我正在尝试删除本地分支,并尝试了此处找到的大多数解决方案,即 checkout 到另一个分支,然后运行git branch -D (or -d) <my_branch>
。我尝试了这些解决方案,但仍然收到相同的错误,指出“无法删除在”my_path“ checkout 的分支”my_branch“
我是如何陷入这种境地的:我通过git worktree add -b branch_name ../project_name develop
从我的develop分支分支出来。然后我意识到我想改变我的分支名称,所以我首先使用rm- rf
删除了整个目录。现在my_path指向一个已删除的目录,所以我不确定现在该怎么做。请帮助我。我使用Git Bash在Windows 7上运行
我尝试过的事情:
1.重新启动我的计算机
1.正在重新安装Git Bash
- checkout 到另一个分支并尝试
git branch -d
和git branch -D
错误截图:(virtualBDD)是我的虚拟环境,你可以忽略它。
3条答案
按热度按时间wz3gfoph1#
做了更多的浏览,发现this answer使用
git worktree prune
删除不再存在的(非锁定)工作树上的信息。这实际上从git worktree list
删除了我的工作树,然后我继续做git branch -d my_branch
。这解决了我的问题。感谢所有帮助我的人。rqmkfv5c2#
您在另一个位置检出了相关分支的工作树,并且在移除该工作树之前,您无法删除该分支。
Git不允许你删除一个有工作树关联的分支,因为这会使工作树处于无用和损坏的状态。如果你想删除分支,你首先需要使用
git worktree remove
来删除给定的工作树,可能使用-f
,然后你就可以删除分支了。如果你不确定你的工作树在哪里,你可以用git worktree list
来找到它。xqkwcwgp3#
也有可能你有一个rebase或者cherry-pick没有在分支中解决,你必须--中止这些过程中的任何一个