删除远程分支的尝试失败 :
$ 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 Bash 您可以执行以下操作 :
git branch --delete <branch>
或
- 带
从 GitHub 桌面应用程序中, 当您检查了分支时, 您可以通过分支菜单条删除本地分支 :
调
如果您没有使用 GitHub 桌面应用程序, 并且正在使用像视觉工作室那样的 IDE 来控制本地源码, 您只需要采取几个快速步骤 :
检查您要删除的分支以外的分支。右键单击您想要删除的分支。从上下文菜单中选择删除选项。
然后,一旦在网上登录到您的 GitHub 账户, 转到仓库, 并单击所有分支的标签。 从那里, 单击小垃圾桶就可以在右侧您想要删除的分支的名称上图标 。
调
无需试图从你的网上存储库删除。
如果您有一个标签, 标签名称与遥控器上的分支相同, 这行不通 :
$ 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
最初的几种方法对我行不通。
假设你有以下分支和远程分支,
Local : Test_Branch
Remote: remotes/origin/feature/Test_FE
正确设置上方为您本地分支以跟踪您想要删除的远程分支 。
git branch --set-upstream-to=remotes/origin/feature/Test_FE Test_Branch
然后删除远程分支执行此任务
git push origin --delete Test_Branch
然后删除本地分支,按照命令执行
git branch -D Test_Branch
就是这样。
很简单:
删除远程分支
git push -d origin <branch-name>
或
git push origin :<branch-name>
- 也可以用此语法删除标记
强制删除本地分支
git branch -D <branch-name>
注意: 在删除远程分支后, 在其它机器上进行 Git 抓取 -- all -- prune, 以删除过时的跟踪分支 。
示例示例示例示例
要删除本地分支
git branch -D my-local-branch
要删除远程分支
git push origin :my-remote-branch
随着新版本的Git, 也有可能删除分支
git push origin --delete <branch_name>
TIP: 如果您想要查看所有可用的分支, 您可以使用 git 分支 - a,
您可以使用 Git 分支 - r 查看远程分支