如何循环git标签

时间:2017-05-30 14:07:20

标签: git bash svn

我做了一些svn来git迁移。我的所有标签看起来都很奇怪。现在:

7.18.2.0@3000
7.18.3.0@3000
7.18.4.0@3000
7.18.5.0@3000

但标签是对的。只有名字是错的。现在我想重命名标签。

因此对于我想要做的每个标签:

git tag new old
git tag -d old
git push origin :refs/tags/old
git push --tags

我想编写此脚本。但我已经坚持找到如何遍历所有标签的正确方法。

我如何循环:for every tag do ...

1 个答案:

答案 0 :(得分:2)

带有for输出的git tag循环呢?

for crt_tag in $(git tag) 
do
    # if you want to suppress @... part
    git tag ${crt_tag%@*} $crt_tag
    git tag -d $crt_tag 
    git push origin :refs/tags/$crt_tag 
    git push --tags
done