前言
在多人同步开发时经常遇到一个人将本地及远端的tag删掉后,另一个人即使
fetch
远程全部内容,远端被删掉的tag仍然还在,如果这时候再push
操作,则之前远端删除的tag又被恢复了,导致tag永远不会被彻底删除
解决方法(参考资料git 如何同步本地、远程的分支和tag信息):
git tag -l | xargs git tag -d #删除所有本地分支
git fetch origin --prune #从远程拉取所有信息`
将这个命令通过SourceTree的自定义操作继承到SourceTree中,步骤如下:
一、设置自定义操作
自定义脚本syschroTags.sh
的内容
#! /bin/bash
cd $REPO/.git
git tag -l | xargs git tag -d
git fetch origin --prune
git fetch origin --tags