前言
在多人同步開發時經常遇到一個人將本地及遠端的tag刪掉后,另一個人即使
fetch
遠程全部內容,遠端被刪掉的tag仍然還在,如果這時候再push
操作,則之前遠端刪除的tag又被恢復了,導致tag永遠不會被徹底刪除
解決方法(參考資料git 如何同步本地、遠程的分支和tag信息):
git tag -l | xargs git tag -d #刪除所有本地分支
git fetch origin --prune #從遠程拉取所有信息`
將這個命令通過SourceTree的自定義操作繼承到SourceTree中,步驟如下:
一、設置自定義操作
1.png
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