git同步远程tag(远程tags删除了但本地一直在),sourcetree自定义操作

前言

在多人同步开发时经常遇到一个人将本地及远端的tag删掉后,另一个人即使fetch远程全部内容,远端被删掉的tag仍然还在,如果这时候再push操作,则之前远端删除的tag又被恢复了,导致tag永远不会被彻底删除

解决方法(参考资料git 如何同步本地、远程的分支和tag信息):

git tag -l | xargs git tag -d #删除所有本地分支
git fetch origin --prune #从远程拉取所有信息`

将这个命令通过SourceTree的自定义操作继承到SourceTree中,步骤如下:

一、设置自定义操作
git同步远程tag(远程tags删除了但本地一直在),sourcetree自定义操作_第1张图片
1.png
git同步远程tag(远程tags删除了但本地一直在),sourcetree自定义操作_第2张图片
2.png

自定义脚本syschroTags.sh的内容

#! /bin/bash
cd $REPO/.git
git tag -l | xargs git tag -d
git fetch origin --prune
git fetch origin --tags
二、执行同步远程的tags到本地
3.png

4.png

你可能感兴趣的:(git同步远程tag(远程tags删除了但本地一直在),sourcetree自定义操作)