Git:如何删除名称以哈希标记“”开头的远程分支?

Git:如何删除名称以哈希标记“”开头的远程分支?,git,gitlab,Git,Gitlab,我已经创建了一个远程分支,它的名称以一个hashtag标记开头,我很快意识到这是一个坏主意,因为git认为它是一个注释标记 因此,我现在想删除该分支,但我找不到正确的方法…我已尝试: git push origin --delete <#branch_name> git push origin --delete -- <#branch_name> 但是git总是返回这个错误消息 致命:-如果没有任何引用,删除就没有意义 那么,我如何绕过这个问题呢?避开: 您可以通过此命

我已经创建了一个远程分支,它的名称以一个hashtag标记开头,我很快意识到这是一个坏主意,因为git认为它是一个注释标记

因此,我现在想删除该分支,但我找不到正确的方法…我已尝试:

git push origin --delete <#branch_name>
git push origin --delete -- <#branch_name>
但是git总是返回这个错误消息

致命:-如果没有任何引用,删除就没有意义

那么,我如何绕过这个问题呢?

避开:

您可以通过此命令删除任何分支

$ git push origin +:refs/heads/#branch_name


对于这个例子,我将展示如何删除远程和本地分支。如果你有任何疑问。。。保存您的数据备份!通常,本地和远程分支名称是相同的,但我添加了一个前缀local和remote,以帮助澄清删除的内容和位置。注意,您不能删除默认分支。如果希望,必须首先选择另一个默认分支

在远程github网站上为名为myrepo的存储库指定默认的分支名称为:remote main,并且要删除的远程分支是remote subbranch

在本地机器myrepo存储库上,这些是通过本地main跟踪的,您希望从本地存储库中删除本地分支

做:

在计算机上本地存储库中的git bash中: 检查以查看所有存在的本地和远程分支 如果需要,请删除本地分支 如果需要,请删除远程分支 再次检查所有分支以确认 git推送源:\branch\u name
$ git push origin +:refs/heads/#branch_name
git push origin :<#branch_name>
your.name@identifiers123abc MINGW64 /path/to/your/local/myrepo (local-main)
$
$ git branch -a
*local-main
 local-subbranch
remotes/myrepo/remote-main
remotes/myrepo/remote-subbranch
$ git branch -d local-subbranch
Deleted branch local-subbranch
$ git push -d remote-main remote-subbranch
To https://github.com/yourGHname/myrepo.git
 - [deleted]    remote-subbranch
$ git branch -a
*local-main
 remotes/myrepo/remote-main