我正试图删除我的本地分支,并尝试了在此找到的大多数解决方案,即签出到另一个分支,然后运行git branch -D (or -d) <my_branch>
。我尝试过,但是仍然出现相同的错误,指出“无法删除在'my_path'处签出的分支'my_branch'
在这种情况下,我如何进入自己:通过执行git worktree add -b branch_name ../project_name develop
从我的开发分支中分支出来。然后我意识到我想更改自己的分支名称,因此我首先使用rm- rf
删除了整个目录。现在my_path指向一个已删除的目录,所以我不确定现在该怎么做。帮助将不胜感激。我正在使用Git Bash在Windows 7上运行
我尝试过的事情:
git branch -d
和git branch -D
错误的屏幕截图: (virtualBDD)是我的虚拟环境。您可以忽略它。
答案 0 :(得分:2)
进行了更多浏览,发现this answer使用git worktree prune
删除了(不再存在的)工作树上的信息。这实际上从git worktree list
中删除了我的工作树,然后我继续执行git branch -d my_branch
。这解决了我的问题。感谢所有提供帮助的人。
答案 1 :(得分:0)
您已经在另一个位置检出了该分支的工作树,并且只有在删除工作树后才能删除该分支。
Git不允许您删除与工作树关联的分支,因为这会使工作树处于无用且损坏的状态。如果要删除分支,则首先需要使用git worktree remove
删除给定的工作树(可能与-f
一起删除),然后才能删除分支。如果不确定工作树在哪里,可以使用git worktree list
来找到它。