删除远程分支的尝试失败 :
$ 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分支?
删除分支的步骤 :
删除远程分支时:
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 :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