如何删除多个标签?

Jul*_*les 3 tags git

我的 Git 存储库中有一堆标签。是否有可能不删除每个标签,而是删除以某种典型模式开头的所有标签?

我想删除所有以 开头的标签,v1.xxx但不删除以 开头的标签v2.xxx

希望删除所有标签有:

git tag -l | xargs git tag -d
Run Code Online (Sandbox Code Playgroud)

我宁愿做这样的事情:

git tag --delete v1.*
git push --delete origin v1.*
Run Code Online (Sandbox Code Playgroud)

有什么建议?

更新 - 如何在遥控器上推送多个标签?

Tan*_*ats 6

通过 Linux 命令,您可以通过用 PIPE (|) 分隔来删除多个 GIT 标签

git tag | xargs git tag -d
Run Code Online (Sandbox Code Playgroud)

或者您可以删除本地存储库中的所有标签:

git tag -d `git tag | grep -E '.'`
Run Code Online (Sandbox Code Playgroud)

并且,您可以删除所有以 _test 结尾的标签

git tag -d `git tag | grep -E '^*\._test$'`
Run Code Online (Sandbox Code Playgroud)

还有一种方式:

git tag | ag *_test | xargs git tag -d
Run Code Online (Sandbox Code Playgroud)

(使用ag