使用Git删除本地分支

Bob*_*eld 106 git

我用谷歌搜索了这个主题有几个很长的线程,但似乎都没有帮助.我想我做错了什么.我有一个叫做的分支Test_Branch.当我尝试使用推荐方法删除它时,我收到以下错误:

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

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

Arp*_*wal 177

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

$ git checkout master
$ git branch -d Test_Branch
Run Code Online (Sandbox Code Playgroud)

如果上面的命令给你错误 - The branch 'Test_Branch' is not fully merged. If you are sure you want to delete it而你仍然要删除它,那么你可以强制删除它-D而不是-d,因为:

$ git branch -D Test_Branch
Run Code Online (Sandbox Code Playgroud)

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

git push origin --delete Test_Branch
Run Code Online (Sandbox Code Playgroud)

  • **切换分支**是我得到的 - 好抓!如果您处于活动状态,则无法删除该分支.;-) (22认同)
  • 如果您尝试了几个不同的签出并仍然得到相同的消息,请查看`git status`或`git branch`的输出; 如果你正在重新定位Test_branch,那么只需检查一个不同的分支/提交就不会解决这个问题.相反,`git rebase --abort`然后`git checkout --detach`,最后是`git branch -D Test_branch` (2认同)
  • 进一步的证据表明git代表“ git很糟糕”。特别是因为您可能想直接切换回同一分支。 (2认同)

Wil*_*ill 44

我也遇到了类似的问题,只是坏分支位于变基中间。
git checkout bad_branch && git rebase --abort解决了我的问题。


Ran*_*ght 18

您可能已经签出了Test_Branch,并且当它是您当前的分支时,您可能无法将其删除.检查一个不同的分支,然后尝试删除Test_Branch.


jin*_*008 12

今天进入这个并切换到另一个分支并没有帮助.事实证明,我的工作树信息已经损坏了,并且有一个工作树与我的工作目录相同的文件夹路径,并HEAD指向branch(git worktree list).我删除了.git/worktree/引用它并git branch -d工作的文件夹.

  • 这是唯一对我有用的东西。 (2认同)

Guy*_*y s 12

如果任何其他答案对您不起作用,如果您正在进行变基,也可能会发生这种情况。因此,要么完成变基,要么中止它:

git rebase --abort
Run Code Online (Sandbox Code Playgroud)

之后,您可以删除分支。


小智 9

就我而言,我有一个平分,我想我没有重置。切换到有问题的分支,运行git bisect reset,然后切换到另一个分支,然后可以删除有问题的分支。


小智 7

就我而言,上一个分支中存在未提交的更改。我使用了以下命令,然后删除工作。

git checkout *    
git checkout master
git branch -D <branch name>
Run Code Online (Sandbox Code Playgroud)


dkn*_*fin 6

如果您使用git worktree创建了多个工作,则需要运行git prune才能删除分支

  • 更具体地说,您将需要使用`git worktree prune` (3认同)

小智 5

如果您遇到此问题,您已签出但无法删除分支并收到此错误消息

“错误:无法删除在......签出的分支“issue-123””

然后使用 gitbranch 检查当前所在的分支

如果您尝试删除的分支是您当前的分支,则无法删除它。只需切换到主分支或主分支或任何其他分支,然后尝试删除

git checkout main 或 master

git 分支 -d 分支名称 git 分支 -D 分支名称 git 分支 -D 分支名称 --force