删除远程分支的尝试失败 :

$ 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.

我如何正确删除本地和远程的远程/原产/bugfix分支?


当前回答

删除分行

我们假设我们的分支“联系形式”的工作已经完成, 我们已经把它融入了“ 主管” 。 既然我们不再需要它, 我们可以删除它( 本地) : git 分支 $ git - d 联系形式 。

要删除远程分支 :

git push origin --delete contact-form

其他回答

删除分行

我们假设我们的分支“联系形式”的工作已经完成, 我们已经把它融入了“ 主管” 。 既然我们不再需要它, 我们可以删除它( 本地) : git 分支 $ git - d 联系形式 。

要删除远程分支 :

git push origin --delete contact-form

使用 Git Bash 您可以执行以下操作 :

git branch --delete <branch>

- 带

从 GitHub 桌面应用程序中, 当您检查了分支时, 您可以通过分支菜单条删除本地分支 :

如果您没有使用 GitHub 桌面应用程序, 并且正在使用像视觉工作室那样的 IDE 来控制本地源码, 您只需要采取几个快速步骤 :

检查您要删除的分支以外的分支。右键单击您想要删除的分支。从上下文菜单中选择删除选项。

然后,一旦在网上登录到您的 GitHub 账户, 转到仓库, 并单击所有分支的标签。 从那里, 单击小垃圾桶就可以在右侧您想要删除的分支的名称上图标 。

无需试图从你的网上存储库删除。

提示:当您使用删除分支时

git branch -d <branchname> # Deletes local branch

git push origin :<branchname> # Deletes remote branch

仅删除引用 。 即使该分支实际上被远程删除, 但它的引用仍然存在于您的团队成员所在的本地存储库中 。 这意味着对于其他团队成员来说, 被删除的分支在做 Git 分支 - a 时仍然可见 。

为了解决这个问题,你的团队成员可以使用

git remote prune <repository>

这是典型的 Git 远程纯素来源 。

内容提要

git push -d <remote_name> <branchname>
git branch -d <branchname>

注:在大多数情况下,<remote_name>将是来源。

删除本地分处

删除本地分支时使用下列分支之一:

git branch -d <branch_name>
git branch -D <branch_name>

-d 选项是 --delete的别名,它只删除已经完全合并到上游分支的分支。 -D选项是 -- delete-force的别名,它删除分支“不管其合并状态如何”。 [资料来源: man git-branch] As of Git v2.3, git 分支 -d (删除) 学会尊重 -f (力量) 旗帜。如果试图删除当前选中的分支, 你会收到错误 。

删除远程分支

至 Git v1. 7. 0, 您可以使用

$ git push <remote_name> --delete <branch_name>

可能比人们记忆起来容易

$ git push <remote_name> :<branch_name>

添加到 Git v1. 5. 0 “删除远程分支或标签 ” 。

从 Git v2. 8. 0 开始,您也可以使用 - d 选项的 Git 推动作为 -- delette 的别名。 因此, 您安装的 Git 版本将决定您是否需要使用更简单或更难的语法 。

删除远程处[原件:2010年1月5日的答复]

Scott Chacon在《Pro Git》第三章中写道:

删除远程分支 假设您已经用远程分支完成 — — 比如, 您和您的合作者已经完成了一个功能, 并已将其合并到您的远程主要分支( 或您稳定的代码行所在的分支 ) 。 您可以使用非常隐蔽的 usyntatget git 推 [ remotename] 来删除远程分支 : [branch] 。 如果您想要从服务器中删除服务器上的服务器链接分支, 您将运行以下操作 :

$ git push origin :serverfix
To git@github.com:schacon/simplegit.git
 - [deleted]         serverfix

boom 。 服务器上不再有树枝。 您可能想要在这个页面上下手, 因为您需要这个命令, 您可能会忘记语法 。 记住这个命令的一个方法就是回顾我们稍早一些时段的语法。 如果您离开[ 本地支 部分, 那么您基本上会说 : “ 不要在我身边做任何事情,让它成为[远程支 。 ”

斯科特·查孔说得没错,我想在Stack Overflow上回答这个话题(或几乎是狗耳朵 ) 。

那你就应该在其他机器上执行这个

# Fetch changes from all remotes and locally delete 
# remote deleted branches/tags etc
# --prune will do the job :-;
git fetch --all --prune

以传播变化。

您也可以使用 Git 远程光素来源来做此操作

$ git remote prune origin
Pruning origin
URL: git@example.com/yourrepo.git
 * [pruned] origin/some-branchs

它从 Git 分支 - r 列表中提取并删除远程跟踪分支 。