使用Git删除本地分支


134

我已经用谷歌搜索,关于这个话题有很长的话题,但似乎没有一个有用。我想我做错了。我有一个名为的分支Test_Branch。当我尝试使用推荐方法将其删除时,出现以下错误:

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

除此之外,我没有其他信息。我可以轻松删除远程分支,但本地分支不会消失。


顺便说一句,我对Git完全陌生。仅在过去几天使用过。参加过几门在线课程并读了几本书,答案似乎也没有。
鲍勃·韦克菲尔德

如果执行git branch,它说什么?
coredump

19
在图片中,这是发生了什么:publicdomainpictures.net/pictures/10000/velka/…–
coredump

git branch给了我* Test_Branch专家
Bob Wakefield'1

星号告诉您您当前在哪个分支,这证实了答案的含义
coredump

Answers:


244

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

$ git checkout master
$ git branch -d Test_Branch

如果以上命令给您错误- The branch 'Test_Branch' is not fully merged. If you are sure you want to delete it仍然要删除它,则可以使用-D而不是强制删除它-d,例如:

$ git branch -D Test_Branch

要同时Test_Branch从远程删除,请执行:

git push origin --delete Test_Branch

34
切换分支机构使我着迷-很好!如果分支处于活动状态,则不能删除它。;-)
SliverNinja-MSFT

2
如果您尝试了几种不同的结帐操作,但仍收到相同的消息,请查看git status或的输出git branch。如果您要重新建立Test_branch,则仅签出其他分支/提交将无法解决此问题。相反,git rebase --abort然后是git checkout --detach最终git branch -D Test_branch
droid

3
git代表“ git很糟糕”的进一步证据 我使用它的次数越多,您必须跳过的这些荒谬的环就越多。特别是因为您可能想直接切换回同一分支。
user949300'3

当有人尝试更改分支机构时,如果有人得到此回报,该怎么办?error: you need to resolve your current index first他们只是想离开?编辑-解决方案:git reset --; git checkout -D [branch_name]Phew ..
保罗

21

您可能已经签出Test_Branch,并且当它是当前分支时,您可能无法删除它。签出其他分支,然后尝试删除Test_Branch。


14

今天就遇到这个问题,切换到另一个分支并没有帮助。原来,我的工作树信息以某种方式被破坏了,并且有一个工作树具有与我的工作目录相同的文件夹路径,并且HEAD指向分支(git worktree list)。我删除了.git/worktree/引用它的文件夹并正常git branch -d工作。



1

这对我
有用... 我已经删除了.git / worktrees文件夹中的文件夹,然后尝试了“ git delete -D branch-name”。


1

在我的情况下,前一个分支一直存在未提交的更改。我使用以下命令,然后删除工作。

git checkout *

git checkout主

git分支-D


0

像其他提到的一样,您不能删除正在使用的当前分支。

就我而言,我在Visual Studio中选择了“ Test_Branch”,并试图从Sourcetree(Git GUI)中删除“ Test_Branch”。并得到以下错误消息。

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

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

希望对使用Visual StudioSourcetree的人有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.