我想删除Git存储库中的所有标签。我该怎么做呢?
使用git tag -d tagname
在本地删除标记tagname
,并使用git push --tags
更新git提供者上的标记。
我试过了:
git tag -d *
但是我看到*
指的是当前目录中的文件。
$ git tag -d *
error: tag 'file1' not found.
error: tag 'file2' not found.
...
考虑到我有很多标签,我想把它们全部删除。
发布于 2013-10-23 21:01:30
发布于 2015-08-12 01:12:14
要删除远程标记(在删除本地标记之前),只需执行以下操作:
git tag -l | xargs -n 1 git push --delete origin
然后删除本地副本:
git tag | xargs git tag -d
发布于 2015-12-21 20:36:37
在一个命令中推送删除所有标签可能更有效。尤其是如果你有几百个。
在合适的非windows shell中,删除所有远程标记:
git tag | xargs -L 1 | xargs git push origin --delete
然后删除所有本地标签:
git tag | xargs -L 1 | xargs git tag --delete
只要您的标记名中没有'
,这应该是可以的。为此,下面的命令应该是OK的。
git tag | xargs -I{} echo '"{}"' | tr \\n \\0 | xargs --null git push origin --delete
git tag | xargs -I{} echo '"{}"' | tr \\n \\0 | xargs --null git tag --delete
可能还有其他方法可以获取一列行,将它们括在引号中,使它们成为一行,然后将该行传递给命令。考虑到这是最终的猫皮肤环境和所有。
https://stackoverflow.com/questions/19542301
复制相似问题