Post

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

参考:git 如何同步本地、远程的分支和tag信息

前言

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

方式一、使用命令行

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

方式二、将命令行通过SourceTree的自定义操作继承到SourceTree中 1、设置自定义操作 1.1 自定义脚本文件syschroTags.sh及内容

1
2
3
4
5
#! /bin/bash
cd $REPO/.git
git tag -l | xargs git tag -d
git fetch origin --prune
git fetch origin --tags

1.2 设置自定义命令 自定义操作1 自定义操作2

3、执行同步远程的tags到本地 自定义操作3 自定义操作3

This post is licensed under CC BY 4.0 by the author.