git 即使在 checkout 到另一个分支后,删除本地分支也会遇到问题

kokeuurv  于 2023-02-20  发布在  Git
关注(0)|答案(3)|浏览(223)

我正在尝试删除本地分支,并尝试了此处找到的大多数解决方案,即 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

  1. checkout 到另一个分支并尝试git branch -dgit branch -D
    错误截图:(virtualBDD)是我的虚拟环境,你可以忽略它。
wz3gfoph

wz3gfoph1#

做了更多的浏览,发现this answer使用git worktree prune删除不再存在的(非锁定)工作树上的信息。这实际上从git worktree list删除了我的工作树,然后我继续做git branch -d my_branch。这解决了我的问题。感谢所有帮助我的人。

rqmkfv5c

rqmkfv5c2#

您在另一个位置检出了相关分支的工作树,并且在移除该工作树之前,您无法删除该分支。
Git不允许你删除一个有工作树关联的分支,因为这会使工作树处于无用和损坏的状态。如果你想删除分支,你首先需要使用git worktree remove来删除给定的工作树,可能使用-f,然后你就可以删除分支了。如果你不确定你的工作树在哪里,你可以用git worktree list来找到它。

xqkwcwgp

xqkwcwgp3#

也有可能你有一个rebase或者cherry-pick没有在分支中解决,你必须--中止这些过程中的任何一个

相关问题