能否使用refs格式引用名执行git push --delete删除远程分支?
关于Git远程分支删除的引用名问题
不能直接用
refs/remotes/origin/feature_bananas这种完整本地跟踪引用执行git push --delete操作,原因是:refs/remotes/origin/是本地仓库用来跟踪远程分支的引用前缀,对应的远程仓库里的分支实际路径是refs/heads/feature_bananas,而非本地的这个路径。直接用本地跟踪引用的完整路径,Git会在远程仓库找不到对应的目标引用,导致删除失败。
正确的删除方式有几种:
- 最常用的短名写法,和你平时用的一致:
Git会自动将短名解析为远程的git push --delete origin feature_bananasrefs/heads/feature_bananas引用。 - 若要使用完整引用路径,需替换为远程分支的标准路径:
git push --delete origin refs/heads/feature_bananas - 也可以用传统的空引用推送写法(和
--delete效果等价):git push origin :feature_bananas
- 最常用的短名写法,和你平时用的一致:
内容的提问来源于stack exchange,提问作者Moberg
相关产品推荐
相关产品推荐

