Git:如何删除名称以##'开头的远程分支?

时间:2017-09-25 09:59:37

标签: git gitlab

我创建了一个远程分支,其名称以井号标记开头,我很快就知道这是一个坏主意,因为#被git视为注释标记。

因此,我现在想删除该分支,但我找不到合适的方法...我试过了:

git push origin --delete <#branch_name>
git push origin --delete -- <#branch_name>

但是git总是返回此错误消息

  

致命: - 没有任何参考, - 删除没有意义。

那么我该如何解决这个问题?

3 个答案:

答案 0 :(得分:8)

逃离#

git push origin --delete \#branch_name
                         ↑

答案 1 :(得分:2)

您可以通过此命令delete任意branch

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

git push origin :<#branch_name>

答案 2 :(得分:0)

在这个例子中,我将展示如何删除远程和本地分支。如果您有任何疑问... 保存您的数据备份!通常,本地和远程分支名称是相同的,但我添加了前缀“local-”和“remote-”以帮助阐明要删除的内容和位置。请注意,您不能删除默认分支。 (如果您愿意,您必须先选择另一个默认分支)。

说你在远程 github 网站上名为“myrepo”的仓库的默认分支名称是:“remote-main”,你想删除的远程分支是“remote-subbranch”。

在您的本地机器“myrepo”存储库中,这些使用“local-main”进行跟踪,并且您希望从本地存储库中删除“local-subbranch”。

做:

在您机器上本地存储库中的 git bash 中:

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