SourceTree 删除远程不存在的标签(Windows)
🏷️ SourceTree Git
在网上找了几个例子都是在 MacOS 上执行的,需要用到管道和 xargs
命令,可惜 windows 上没有。
只好自己写了一个 windows 版的。
因为没有管道,只能把获取到的标签名称保存到临时文件,处理结束后再删除掉。
新建一个 删除远程不存在的标签.bat 文件,内容如下:
batch@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 ..
1
2
3
4
5
6
7
8
9在 SourceTree 的菜单 工具 => 选项 => 自定义操作 中添加一个新的自定义操作。
标题:删除远程不存在的标签
运行的脚本:D:\...\...\Tool\删除远程不存在的标签.bat
其它选项可以根据需要勾选,然后点击确定保存。
选择需要删除 Tag 的仓库标签。
选择菜单 操作 => 自定义操作 => 删除远程不存在的标签。