我有一个名为Test_Branch的分支。当我尝试使用推荐方法删除它时,我得到以下错误:

无法删除在'[目录签出的分支'Test_Branch' 位置]。

除此之外,我没有得到其他信息。我可以轻易地吹走远程分支,但本地分支不会消失。


当前回答

正如其他人提到的,您不能删除您正在工作的当前分支。

在我的例子中,我在Visual Studio中选择了“Test_Branch”,并试图从Sourcetree (Git GUI)中删除“Test_Branch”。并且正在得到下面的错误消息。

无法删除在'[目录签出的分支'Test_Branch' 位置]。

在Visual Studio中切换到不同的分支,并能够从Sourcetree中删除“Test_Branch”。

我希望这能帮助那些正在使用Visual Studio & Sourcetree的人。

其他回答

大多数初级程序员面临的问题

无法删除分支“my-branch-name”

因为它们已经在那根树枝上了。

删除您正在处理的分支是不符合逻辑的。

只需切换到另一个分支,比如master或dev,然后删除你想要的分支:

Git检查开发

Git branch -d my-branch-name

无需强制删除,您可以删除该分支

今天遇到了这个问题,换到另一个分支也没有帮助。结果是我的工作树信息被损坏了,有一个工作树与我的工作目录具有相同的文件夹路径,头部指向分支(git工作树列表)。我删除了引用它的.git/worktree/文件夹,git分支-d工作了。

也遇到了同样的问题, 签出到不同的分支,使用git branch -D branch_name 为我工作

在我的例子中,来自前一个分支的未提交的更改仍然存在。我使用以下命令,然后删除工作。

git checkout *    
git checkout master
git branch -D <branch name>

切换到其他分支并删除Test_Branch,如下所示:

$ git checkout master
$ git branch -d Test_Branch

如果上面的命令给你错误-分支“Test_Branch”没有完全合并。如果你确定你想要删除它,并且仍然想要删除它,那么你可以使用-D来强制删除它,而不是-D,如下所示:

$ git branch -D Test_Branch

要从远程删除Test_Branch,执行:

git push origin --delete Test_Branch