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

$ 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本地和远程分支?


当前回答

本地和远程删除您的分支

  • 取出至母版分支 -git checkout master

  • 删除您的远程分支 -git push origin --delete <branch-name>

  • 删除您的本地分支 -git branch --delete <branch-name>

其他回答

删除分行

我们假设我们的分支“联系形式”的工作已经完成,我们已经将其纳入“主人”中。由于我们不再需要它,我们可以删除它(就地):

$ git branch -d contact-form

要删除远程分支 :

git push origin --delete contact-form

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

grb delete branch

我发现我也使用publishtrack命令非常常见 。

使用 :

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

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

git branch -D bugfix

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

git remote prune origin

我用下面的 在我的巴什设置 :

alias git-shoot="git push origin --delete"

然后您可以拨打:

git-shoot branchname

我在我的.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
}