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

$ 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分支?


当前回答

这是所有其他答案的拼图。 它需要 Ruby 1.9. 3 +, 并且只在 OS X 上测试 。

调用此文件 git- remove, 让它可执行, 并把它放在您的路径中。 然后使用, 例如, git 删除临时 。

#!/usr/bin/env ruby
require 'io/console'

if __FILE__ == $0
      branch_name = ARGV[0] if (ARGV[0])
      print "Press Y to force delete local and remote branch #{branch_name}..."
    response = STDIN.getch
    if ['Y', 'y', 'yes'].include?(response)
      puts "\nContinuing."
      `git branch -D #{branch_name}`
      `git branch -D -r origin/#{branch_name}`
      `git push origin --delete #{branch_name}`
    else
      puts "\nQuitting."
    end
end

其他回答

我在我的.bash_alians 文件中创建了以下方便功能 :

git-delete-branch() 
{ 
    if [[ -n $1 ]]; then
        git checkout master > /dev/null;
        branch_name="$1";
        echo "Deleting local $branch_name branch...";
        git branch -D "$branch_name";
        echo "Deleting remote $branch_name branch...";
        git push origin --delete "$branch_name";
        git remote prune origin;
        echo "Your current branches are:";
        git branch -a;
    else
        echo "Usage: git-delete-branch <branch_name>";
    fi
}

除了其他答案之外, 我经常使用 git_ remote_ branch 工具。 这是一个额外的安装, 但是它能方便地与远程分支进行互动。 在这种情况下, 请删除 :

grb delete branch

我发现我还经常使用 出版和跟踪命令。

删除分支的步骤 :

删除远程分支时:

git push origin --delete <your_branch>

对于删除本地分支,您有三种方式:

1: git branch -D <branch_name>

2: git branch --delete --force <branch_name>  # Same as -D

3: git branch --delete  <branch_name>         # Error on unmerge

解释一下:请解释一下这里发生了什么!

简单地做 git 推源 - 删除只删除您的远程分支, 在结尾处添加分支的名称, 这将同时删除并推到远程...

Git 分支 - D, 仅删除本地分支!

-D 代表 --delete --force,它会删除分支,即使它没有合并(force development),但您也可以使用 -d 表示 --delete,它会抛出分支合并状态的错误...

我还创造下面的图像,以显示步骤:

使用 :

git push origin :bugfix  # Deletes remote branch
git branch -d bugfix     # Must delete local branch manually

如果您确定要删除,请运行

git branch -D bugfix

现在清理已删除的远程分支, 运行

git remote prune origin

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

git branch --delete <branch>

- 带

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

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

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

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

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