如何删除所有 git origin 和本地标签?

问题描述 投票:0回答:3

如何删除已经推送的 git 标签? 删除所有 git 远程(原始)标签并删除所有 git 本地标签。

git tags removeall
3个回答
458
投票
  1. 删除所有本地标签。 (可选推荐)
    git tag -d $(git tag -l)
    
  2. 获取远程所有标签。 (可选推荐)
    git fetch
    
  3. 删除所有远程标签。
    # Note: pushing once should be faster than multiple times
    git push origin --delete $(git tag -l) 
    
  4. 删除所有本地标签。
    git tag -d $(git tag -l)
    

19
投票

对于使用命令提示符的 Windows:

删除本地标签:

for /f "tokens=* delims=" %a in ('git tag -l') do git tag -d %a

删除远程标签:

for /f "tokens=* delims=" %a in ('git tag -l') do git push --delete origin %a

6
投票

主要答案对我不起作用。

失败了:

git push origin --delete $(git tag -l)

错误:

fatal: --delete doesn't make sense without any refs

那是因为我没有本地标签!

git tag -l
显示 什么也没有,即使在运行
git fetch
来获取所有远程标签之后!

但是,以下有效!:

在某些极少数情况下,例如,您在 GitHub 上有远程标签但没有本地标签,您可能需要手动指定要删除的标签。

前往 https://github.com/YOUR_USERNAME/YOUR_REPO_NAME/tags(例如:https://github.com/ElectricRCAircraftGuy/sublime_gcode/tags)查看所有远程标签。

我的显示标签

1.0.0
1.0.1
。手动删除它们:

手动删除远程标签

# General format to delete a **remote** tag on remote named "origin"
git push --delete origin <tag_name>

# My case exactly
git push --delete origin 1.0.0
git push --delete origin 1.0.1

手动删除本地标签

# list all tags
git tag
# OR (same thing): 
git tag -l

# delete a local tag
git tag -d <tag_name>
# Example: delete local tag named `1.0.0`
git tag -d 1.0.0

我学到所有这些的来源:https://devconnected.com/how-to-delete-local-and-remote-tags-on-git/

© www.soinside.com 2019 - 2024. All rights reserved.