如何彻底删除Bitbucket(Git)仓库中的标签?
无法彻底删除Bitbucket仓库标签,删除后拉取又重现
我在删除Bitbucket仓库里的测试标签时遇到了麻烦,按步骤操作后标签还是会在git pull或git fetch后重新出现。
我的操作步骤:
- 通过Web UI删除标签:

- 本地删除标签:
git tag -d TAG_NAME
- 远程删除标签:
git push --delete origin refs/tags/TAG_NAME
问题原因及解决办法
- Git默认会同步远程所有标签
默认情况下git fetch会把远程所有标签同步到本地,哪怕你之前删过。可以设置全局配置,让fetch自动清理已删除的远程标签:
git config --global fetch.pruneTags true
或者每次执行fetch时手动加参数:
git fetch --prune --prune-tags
- 确认远程标签是否真的被移除
有时候Web UI操作有延迟,或者命令里的标签名写错了。先检查远程仓库的标签列表:
git ls-remote --tags origin
如果目标标签还在,重新执行远程删除命令(换个等效写法试试):
git push origin :refs/tags/TAG_NAME
- 清理本地过期引用
如果本地有其他分支或残留引用指向被标签的提交,可能导致标签被重新拉取。执行下面的命令清理本地和远程不一致的引用:
git remote prune origin
内容的提问来源于stack exchange,提问作者JBoy
相关产品推荐
相关产品推荐

