如何删除已推送的Git标记?


当前回答

git tag -d your_tag_name
git push origin :refs/tags/your_tag_name

第一行从本地回购中删除your_tag_name,第二行从远程回购中删除您的_tag_name。

对于使用GitHub的人来说,还需要一个步骤:丢弃草稿。

其他回答

这对我有用

git push --force origin refs/tags/<tag_name>:refs/tags/<tag_name>

从本地和源位置删除给定标记的简单脚本。检查标签是否真的存在。

if [ $(git tag -l "$1") ]; then
    git tag --delete  $1
    git push --delete origin $1

    echo done.
else
    echo tag named "$1" was not found
fi

如何使用:

创建shell脚本文件(例如gittagpurge.sh)并粘贴内容。chmod脚本文件以使其可执行。使脚本全局可用cd到git项目调用脚本(例如$>git-tag-purge.sh tag_name)

删除本地标记“12345”

git tag -d 12345

删除远程标记“12345”(例如,GitHub版本也是)

git push origin :refs/tags/12345

替代方法

git push --delete origin tagName
git tag -d tagName

git tag -d your_tag_name
git push origin :refs/tags/your_tag_name

第一行从本地回购中删除your_tag_name,第二行从远程回购中删除您的_tag_name。

对于使用GitHub的人来说,还需要一个步骤:丢弃草稿。

更直接的方法是

git push --delete origin YOUR_TAG_NAME

在这种情况下,IMO前缀冒号语法有点奇怪