如何在本地和远程删除Git分支?

20371

尝试删除远程分支失败:

$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.

$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found.

$ git branch -rd origin/bugfix
Deleted remote branch origin/bugfix (was 2a14ef7).

$ git push
Everything up-to-date

$ git pull
From github.com:gituser/gitproject

* [new branch] bugfix -> origin/bugfix
Already up-to-date.

我应该如何正确删除本地和远程的remotes/origin/bugfix分支?


1554
不好意思,这个问题已经有40个答案了。请问您还需要我翻译吗? - Robert Harvey
80
注意:针对 Git 2.5+(2015 年第二季度发布),准确的消息将会是“**deleted remote-tracking branch**”:请参见 https://github.com/git/git/commit/ccd593cffaa020ff767860ec211462b8dbd727a6#diff-d18f86ea14e2f1e5bff391b2e54438cbR268 - VonC
29
跳过前几个答案并直接跳到最佳答案:https://dev59.com/h3I-5IYBdhLWcg3wI0p9#23961231 。 要删除git分支,实际上有3个不同的分支需要删除! 这个答案明确了这个事实。 - Gabriel Staples
6
没有上下文,你的评论很令人困惑。这些“最佳”答案是否存在某种错误? - Nathan majicvr.com
17
@Nathan,不,他们没有错,但是“你不知道你不知道什么”是他们没有教授的内容,而我提供的链接使得这个重要的“未知未知”成为了“已知未知”,然后变成了“已知已知”。在阅读那篇回答之前,我不知道有一个本地分支、本地存储的远程跟踪分支和远程分支(1)(2)(3)。在那之前,我认为只有本地分支和远程分支。本地存储的远程跟踪分支是一个“未知未知”。让它从“未知未知”变成“已知已知”,这就是这篇回答最好的原因。 - Gabriel Staples
显示剩余5条评论
43个回答

8

在这里,您可以删除与glob或任何分支名称对应的远程分支:

git branch -r --list "origin/*" | xargs git branch -r -D

3
以下选项对我有用:
删除本地的git分支:
git branch -d localBranchName

远程删除 git 分支:

git push origin --delete remoteBranchName

0
一个快速简洁的方法来删除本地和远程的git分支是:
git branch -d YourBranchName && git push -d origin YourBranchName 

下面的图片显示了一个执行的示例,以及git确认信息。

git branch delete


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接