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

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


当前回答

我厌倦了勾引这个答案, 所以我采取了类似的方法 来回答克里格早些时候发布的答案。

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

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

每当我完成一个分支(例如, 合并为主人)时, 我在我的终端里运行以下功能:

gitdelete my-branch-name

...然后从源头和本地删除我的处名

其他回答

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

grb delete branch

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

删除本地端 - (正常)

git branch -d my_branch

如果分行处于调整/合并的进度中,且未正确完成,这意味着您将会出错, 重设/ 计量在进行中, 因此在这种情况下, 您将无法删除分行 。

所以要么你需要解决重置/合并问题。 否则,你可以通过使用, 强制删除,

git branch -D my_branch

要删除远程 :

git push --delete origin my_branch

您可以使用 :

git push origin :my_branch   # Easy to remember both will do the same.

图形代表:

根据最新文件,使用终端,我们可以以以下方式删除。

删除本地语 :

git branch -D usermanagement

在远程位置删除 :

git push --delete origin usermanagement

如果您想要用一个命令来完成这两个步骤, 您可以在 ~ /. gitconfig 中添加下面的替代名称 :

[alias]
    rmbranch = "!f(){ git branch -d ${1} && git push origin --delete ${1}; };f"

或者,您可以从命令行使用

git config --global alias.rmbranch \
'!f(){ git branch -d ${1} && git push origin --delete ${1}; };f'

注:如果使用 -d(小写d),该分支只有在合并时才被删除。要强制删除,您需要使用 -D(大写D)。

一班级命令,删除本地和远程两个部分:

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

或添加以下别名到 ~/. gitconfig 的 ~ /. gitconfig 。 用法: git 杀死分支名称

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