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

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


当前回答

我厌倦了勾勾勾勾勾勾勾勾勾勾勾的答案, 所以我采取了类似的办法,克雷格所发回的答案早些时候。

我在我的巴什档案中增加了以下内容:

function gitdelete(){
    git push origin --delete $1
    git branch -D $1
}

每当我完成一个分支(合并成master例如)我在我的终端运行以下功能:

gitdelete my-branch-name

...然后删除my-branch-name调自origin以及当地。

其他回答

我厌倦了勾勾勾勾勾勾勾勾勾勾勾的答案, 所以我采取了类似的办法,克雷格所发回的答案早些时候。

我在我的巴什档案中增加了以下内容:

function gitdelete(){
    git push origin --delete $1
    git branch -D $1
}

每当我完成一个分支(合并成master例如)我在我的终端运行以下功能:

gitdelete my-branch-name

...然后删除my-branch-name调自origin以及当地。

如果您有一个标签, 标签名称与遥控器上的分支相同, 这行不通 :

$ git push origin :branch-or-tag-name
error: dst refspec branch-or-tag-name matches more than one.
error: failed to push some refs to 'git@github.com:SomeName/some-repo.git'

在此情况下, 您需要指定要删除分支, 而不是标记 :

git push origin :refs/heads/branch-or-tag-name

类似地, 要删除标签, 而不是您要使用的分支 :

git push origin :refs/tags/branch-or-tag-name
git push origin --delete <branch Name>

较容易记住

git push origin :branchName

简单说一句:

git branch -d <branch-name>
git push origin :<branch-name>

A A A一班班要删除的命令本地和偏远地区:

D=branch-name; git branch -D $D; git push origin :$D

或者将下面的别名添加到您的~ /. git config ~ /. git config用法:git kill branch-name

[alias]
    kill = "!f(){ git branch -D \"$1\";  git push origin --delete \"$1\"; };f"