1. 一个一个删
本地删除tag : git tag -d v1.1.0
删除远程tag: git push origin :refs/tags/v1.1.0
查看本地tag: git tag -l
查看远程tag: git show-ref --tag
很麻烦
2. 批量删
// 获取 以dev_开头的所有tag
git tag -l|awk '/dev_*/{print $0}'
git tag -l|awk '/dev_*/{print $0}' |xargs git show|awk '/commit .*{40}/{print substr($0,8,40)}'
// 删除本地标签
git tag -l|awk '/dev_*/' |xargs git tag -d
// 删除远程标签
git show-ref --tag | awk '/dev_*/{print ":" $2}' | xargs git push origin
要推送单个标签:
git push origin <tag_name>
并且以下命令应该推送所有标签(不推荐):
git push --tags
查看本地: git tag -l
查看远程: git show-ref --tag
3.命令
命令 git push origin <tagname>
可以推送一个本地标签;
命令 git push origin --tags
可以推送全部未推送过的本地标签;
命令 git tag -d <tagname>
可以删除一个本地标签;
命令 git push origin :refs/tags/<tagname>
可以删除一个远程标签。
- 正则删除
示例Tag: v2.0.5.20200518
git tag -l | awk '/v2.[0-9].[0-9].2022[0-9][0-9][0-9][0-9]/{print}' | xargs git push origin --delete tag
网友评论