SourceTree 删除远程不存在的TAG

在管理项目中,使用Git管理代码,发现TAG的删除比较头痛,经常出现有人创建了TAG,过一段时间删除,可自己本地的TAG一直存在,如果push这个TAG到远程,那么此TAG将永远不会被删除。 强迫症的人怎么可以忍受。
Let us go.

创建一个批处理文件

将下文的代码复制,在桌面创建一个文件,取名删除远程不存在的tag.sh

#! /bin/bash

cd $REPO/.git
git tag -l | xargs git tag -d
git fetch origin --prune
git fetch origin --tags

记得后缀是.sh

SourceTree创建自定义事件

  • 打开sourceTree的偏好设置

  • 点击“添加”

    1. 输入标题
    2. 在“运行的脚本”,选择刚刚创建的脚本删除远程不存在的tag.sh
    3. 确定

  • 执行操作

    添加完成后,打开需要更新TAG的Git项目,然后选择自定义操作

    坐等一会,远程不存在的TAG就Gone了。 _


如果执行自定义操作出现launch path not accessible错误提示,表示shell脚本文件没有权限。

只需要给文件授权即可:

chmod 0755 删除远程不存在的tag.sh

注:获取TAG的方法,点击“抓取”,然后选中“抓取并在本地存储所有标签”

坚持原创技术分享,您的支持将鼓励我继续创作!