正则表达式 – 如何删除不在我的本地存储库上的远程标签?
发布时间:2020-12-14 05:47:16 所属栏目:百科 来源:网络整理
导读:我希望原点与我的本地标签相匹配.这不应该与修剪本地标签混淆,而是远程. 要修剪本地标记并使我的本地存储库匹配原点我做: git tag -l | xargs git tag -dgit fetch 我在本地清理了标签,我想推送并删除遥控器中没有的东西. 我一直在手动做,如: git tag -l |
我希望原点与我的本地标签相匹配.这不应该与修剪本地标签混淆,而是远程.
要修剪本地标记并使我的本地存储库匹配原点我做: git tag -l | xargs git tag -d git fetch 我在本地清理了标签,我想推送并删除遥控器中没有的东西. 我一直在手动做,如: git tag -l | grep -v "[^v2]" | xargs git tag -d # remove local tags that don't match a pattern git push origin :refs/tags/2.2.15 # manually remove those tags on remote git push origin :refs/tags/2.2.16 git push origin :refs/tags/2.2.17 git push origin :refs/tags/2.2.18 ... 但是有这么多标签我觉得这可以用不同的方式完成. 解决方法
刚刚在远程仓库上测试它,它工作正常.
我使用cut而不是grep,并将远程标签与本地标签进行比较,然后删除不同的远程标签. git ls-remote --tags origin | cut -f 2 | xargs basename | comm -23 - <(git tag) | awk '{print ":refs/tags/" $0}' | xargs git push origin 这不是世界上最优雅的东西,但它确实有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |