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

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


当前回答

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

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"

其他回答

自2013年1月以来, GitHub 在您的“ Branches” 页中, 在每个分支旁边有一个删除分支按钮 。

相关博客文章: 创建和删除分支

Matthew的回答对移除远程树枝很有帮助, 我也欣赏这一解释,

要从您的机器中删除本地分支 : git 分支 - d { local_ branch} (使用 - D 代替强制删除分支而不检查合并状态); 从服务器中删除远程分支 : git 推源 - d {remote_ branch} 。

参考: Git: 删除分支( 本地或远程) 。

删除分行

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

要删除远程分支 :

git push origin --delete contact-form

本地删除 :

要删除本地分支,请使用:

git branch -d <branch_name>

强行删除分支,使用 -D 而不是 -d 。

git branch -D <branch_name>

远程删除 :

有两个选项:

git push origin :branchname

git push origin --delete branchname

我建议你用第二种方式,因为它更直观。

我在我的. gitconfig 文件中添加了以下别名。 这样可以删除分支, 不论是否指定分支名称 。 如果没有通过参数, 分支名称默认为当前分支 。

[alias]
    branch-name = rev-parse --abbrev-ref HEAD     

    rm-remote-branch = !"f() { branch=${1-$(git branch-name)}; git push origin :$branch; }; f"
    rm-local-branch = !"f() { branch=${1-$(git branch-name)}; git checkout master; git branch -d $branch; }; f"
    rm-branch-fully = !"f() { branch=${1-$(git branch-name)}; git rm-local-branch $branch; git rm-remote-branch $branch; }; f"