SourceTree 删除远程不存在的标签(Windows)

93 阅读1分钟

在网上找了几个例子都是在 MacOS 上执行的,需要用到管道和 xargs 命令,可惜 Windows 上没有。 只好自己写了一个 Windows 版的。 因为没有管道,只能把获取到的标签名称保存到临时文件,处理结束后再删除掉。

  1. 新建一个 删除远程不存在的标签.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 ..
    
  2. 在 SourceTree 的菜单 工具 => 选项 => 自定义操作 中添加一个新的自定义操作。

    标题:删除远程不存在的标签 运行的脚本:D:\...\...\Tool\删除远程不存在的标签.bat

    其它选项可以根据需要勾选,然后点击确定保存。

  3. 选择需要删除 Tag 的仓库标签。

  4. 选择菜单 操作 => 自定义操作 => 删除远程不存在的标签。

参考

  1. SourceTree 删除远程不存在的TAG

版权声明:本文为博主「佳佳」的原创文章,遵循 CC 4.0 BY-NC-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:www.liujiajia.me/2019/3/18/d…