在网上找了几个例子都是在 MacOS 上执行的,需要用到管道和 xargs 命令,可惜 Windows 上没有。
只好自己写了一个 Windows 版的。
因为没有管道,只能把获取到的标签名称保存到临时文件,处理结束后再删除掉。
-
新建一个 删除远程不存在的标签.bat 文件,内容如下:
@echo off cd $REPO/.git set tagFileName=local-tags.txt git tag -l >> %tagFileName% for /f %%x in (%tagFileName%) do git tag -d %%x git fetch origin --prune git fetch origin --tags del %tagFileName% cd .. -
在 SourceTree 的菜单 工具 => 选项 => 自定义操作 中添加一个新的自定义操作。
标题:删除远程不存在的标签 运行的脚本:
D:\...\...\Tool\删除远程不存在的标签.bat其它选项可以根据需要勾选,然后点击确定保存。
-
选择需要删除 Tag 的仓库标签。
-
选择菜单 操作 => 自定义操作 => 删除远程不存在的标签。
参考
版权声明:本文为博主「佳佳」的原创文章,遵循 CC 4.0 BY-NC-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:www.liujiajia.me/2019/3/18/d…