在管理项目中,使用 Git 管理代码,发现 TAG 的删除比较头痛,经常出现有人创建了 TAG,过一段时间删除,可自己本地的 TAG 一直存在,如果 push 这个 TAG 到远端,那么此 TAG 将永远不会被删除。 强迫症的人怎么可以忍受。
Let us go.
批处理脚本
记得后缀是.sh
git_delete_remote_does_not_exist_tag.sh
1 | ! /bin/bash |
git_delete_remote_tag.sh
1 | ! /bin/bash |
SourceTree 创建自定义事件
打开 sourceTree 的偏好设置
点击“添加”
- 输入标题
- 在“运行的脚本”,选择刚刚创建的脚本git_delete_remote_does_not_exist_tag.sh
- 确定
执行操作
添加完成后,打开需要更新 TAG 的 Git 项目,然后选择自定义操作
坐等一会,远程不存在的 TAG 就 Gone 了。 _
其他问题
如果执行自定义操作出现launch path not accessible
错误提示,表示 shell 脚本文件没有权限。
只需要给文件授权即可:
1 | chmod 0755 git_delete_remote_does_not_exist_tag.sh |
注:获取 TAG 的方法,点击“抓取”,然后选中“抓取并在本地存储所有标签”