即使在结帐到另一个分支后也无法删除本地分支

Having trouble deleting a local branch even after checkout to another branch

我正在尝试删除我的本地分支并尝试了我在此处找到的大部分解决方案,即结帐到另一个分支然后 运行 git branch -D (or -d) <my_branch>。我试过了,但我仍然收到同样的错误,指出“无法删除在 'my_path'

签出的分支 'my_branch'

我是如何陷入这种境地的:我通过 git worktree add -b branch_name ../project_name develop 从我的开发分支中分离出来。然后我意识到我想更改我的分支名称,所以我首先使用 rm- rf 删除了整个目录。现在 my_path 指向一个已删除的目录,所以我不确定现在该做什么。帮助将不胜感激。我 运行 正在 Windows 7 使用 Git Bash

我尝试过的事情:

  1. 正在重启我的电脑
  2. 正在重新安装 Git Bash
  3. 结帐到另一个分支并尝试 git branch -dgit branch -D

错误截图: (virtualBDD) 是我的虚拟环境。你可以忽略它。

您在另一个位置签出了相关分支的工作树,并且在删除该工作树之前无法删除该分支。

Git 不允许您删除具有与之关联的工作树的分支,因为这会使工作树处于无用和损坏的状态。如果要删除分支,首先需要使用 git worktree remove 删除给定的工作树,可能使用 -f,然后就可以删除分支。如果你不确定你的工作树在哪里,你可以使用 git worktree list 来找到它。

浏览了一些内容,发现 使用 git worktree prune 删除不再存在的(非锁定)工作树的信息。这基本上从 git worktree list 中删除了我的工作树,然后我继续做 git branch -d my_branch。这解决了我的问题。感谢所有帮助过的人。